当前位置: 技术问答>linux和unix
求租:非堵塞accpet只能用一次
来源: 互联网 发布时间:2016-07-18
本文导语: 本帖最后由 lxq00 于 2009-11-18 13:44:25 编辑 用 fcntl(sock_fd, F_SETFL, O_NONBLOCK); 设置 socket为非堵塞的 然后用 while(1) { memset((void *)&their_addr,0,sizeof(their_addr)); newfd= accept(ock_fd,(struct sockaddr *)&their_addr,(socklen_t...
fcntl(sock_fd, F_SETFL, O_NONBLOCK);
设置 socket为非堵塞的
然后用
while(1)
{
memset((void *)&their_addr,0,sizeof(their_addr));
newfd= accept(ock_fd,(struct sockaddr *)&their_addr,(socklen_t*)& sizeof(struct sockaddr_in));
//循环方式来accpet connect的请求
.................
.................
}
请问什么 当第一次connect 连接时 触发 accpet 返回newfd 能使用
当以后再connect 时 accpet 始终返回-1 不可用
请问是什么原因 应该怎么设置 方能可用 谢谢 急...............
|
请问什么 当第一次connect 连接时 触发 accpet 返回newfd 能使用
当以后再connect 时 accpet 始终返回-1 不可用 ;
accept()接受一个新的连接后,返回值要判断下:
RETURN VALUE
The call returns -1 on error. If it succeeds, it returns a non-negative integer that is a descriptor for the
accepted socket.
要是出错了,printf("error number %s", errno); 可以得出错误原因。
建议你试试selcet模型 。
当以后再connect 时 accpet 始终返回-1 不可用 ;
accept()接受一个新的连接后,返回值要判断下:
RETURN VALUE
The call returns -1 on error. If it succeeds, it returns a non-negative integer that is a descriptor for the
accepted socket.
要是出错了,printf("error number %s", errno); 可以得出错误原因。
建议你试试selcet模型 。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。