当前位置: 技术问答>linux和unix
select+read 读服务器发送过来的数据, 假设服务器调用close后, 客户端的select是否返回这个socket可读?
来源: 互联网 发布时间:2015-12-16
本文导语: socket客户端使用select+read 的方式连接到服务器, 客户端根据 select的返回来读socket, 如果服务器发送完数据后, 调用close 关闭了socket, 那么这时客户端的select调用是不是会返回,并且 其后的read会返回0代表服务器端已经...
socket客户端使用select+read 的方式连接到服务器, 客户端根据
select的返回来读socket, 如果服务器发送完数据后, 调用close
关闭了socket, 那么这时客户端的select调用是不是会返回,并且
其后的read会返回0代表服务器端已经关闭了socket??
select的返回来读socket, 如果服务器发送完数据后, 调用close
关闭了socket, 那么这时客户端的select调用是不是会返回,并且
其后的read会返回0代表服务器端已经关闭了socket??
|
当连接的读这一半被关闭(也就是说接收了FIN的TCP连接).对这样的套接口的读操作将不阻塞且返回0(既文件结束符).
所以当连接的一半被关闭,select认为准备好读返回.
所以当连接的一半被关闭,select认为准备好读返回.
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。