服务端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()
因为 $this->socket 被重新赋值了,原来存储的socket连接被析构了,自动关闭了。