当前位置: 技术问答>linux和unix
为何我close了 accept不立即返回
来源: 互联网 发布时间:2016-07-03
本文导语: 我开了2个线程 一个线程进行accept的阻塞操作 另一个线程调用close 但是调用close后 accept并不立即返回。。 只有 某个客户端调用connect之后 accept才返回错误 不是应该close后accept 立即返回的吗 | ...
我开了2个线程 一个线程进行accept的阻塞操作
另一个线程调用close
但是调用close后 accept并不立即返回。。
只有 某个客户端调用connect之后 accept才返回错误
不是应该close后accept 立即返回的吗
另一个线程调用close
但是调用close后 accept并不立即返回。。
只有 某个客户端调用connect之后 accept才返回错误
不是应该close后accept 立即返回的吗
|
accept 是接收到client的connect的时候才会返回,而不是接收到close的时候返回。
服务器一般的处理流程如下:
while(1)
{
newsock = accept(lissock, (struct sockaddr *)&cliaddr, (unsigned long*)&len);
if(newsock
服务器一般的处理流程如下:
while(1)
{
newsock = accept(lissock, (struct sockaddr *)&cliaddr, (unsigned long*)&len);
if(newsock