一个socket_accept 初级问题

0

服务端socket_accept


while(1){
$this->socket = socket_accept($this->listend);
$this->log((int)$socket);
if((int)$socket<0){
$this->log('accept error');
return -1;
}
if(socket_getpeername($socket,$addr,$port)){
$this->log("client:$addr - $port");
}

$this->buf = date('Y-m-d',time());

sleep(5);
}
return 0;

让我困惑的是socket_accept这里,当我一个客户端用telnet 连接,没问题一直处于连接状态,再开一个客户端连接后,第一个就没任何提示的退出来了(Connection closed by foreign host.) ,while循环里并没有socket_close()

已邀请:

walkor

赞同来自:

因为 $this->socket 被重新赋值了,原来存储的socket连接被析构了,自动关闭了。

要回复问题请先登录注册