0
下面是一个简单的服务器程序:PHP的警告:socket_bind():无法绑定地址[98]:地址已在使用
<?php
for($i=0;$i<=5;$i++)
{
$host = "xxxxx";
$port=10000;
set_time_limit(0);
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
$result = socket_bind($socket, $host, $port) or die("Could not bind to socket\n".socket_strerror(socket_last_error()));
$result = socket_listen($socket, 3) or die("Could not set up socket listener\n".socket_last_error());
$spawn = socket_accept($socket) or die("Could not accept incoming connection\n");
$input = socket_read($spawn, 2048) or die("Could not read incoming connection\n");
$input = trim($input);
echo "Client Message : ".$input."\n";
socket_close($spawn);
socket_close($socket);
flush(); @ob_flush();
sleep(10);
}
?>
,我需要的是端口绑定没有。关闭套接字后再次。 每一次,在第一个循环中没有错误,在第二个循环中,我得到错误。我想,港口没有清理。我使用Cent OS,我尝试了一些linux命令来刷新端口,但没用。
任何人都可以解释在这种情况下实际发生了什么? 在同一个进程中关闭后如何重新使用相同的端口?
我知道这一点。我可以直接读写客户端。它只是一个例子。但是如果首次连接到客户端无法重新建立连接,我需要做所有这些事情。 – user2764644