1、socket同步与异步
同步与异步主要针对客户端,阻塞与非阻塞主要针对服务器端。
1. 同步,就是我调用一个功能,该功能没有结束前,我死等结果。
2. 异步,就是我调用一个功能,不需要知道该功能结果,该功能有结果后通知我(回调通知)
3. 阻塞, 就是调用我(函数),我(函数)没有接收完数据或者没有得到结果之前,我不会返回。
4. 非阻塞, 就是调用我(函数),我(函数)立即返回,通过select通知调用者
同步IO和异步IO的区别就在于:数据拷贝的时候进程是否阻塞!
阻塞IO和非阻塞IO的区别就在于:应用程序的调用是否立即返回!
2、connect 阻塞时间为20秒左右,gethostbyaddr阻塞时间不管成功与否为4秒左右。
函数原型:struct hostent *gethostbyaddr(const char * addr, int len, int type);
addr:指向网络字节顺序地址的指针。
len: 地址的长度,在AF_INET类型地址中为4。
type:地址类型,应为AF_INET。
C++ socket连接的知识点
最新推荐文章于 2024-07-10 11:16:10 发布