我希望php继续侦听套接字(php套接字编程)

我希望php继续侦听套接字(php套接字编程),php,tcp,websocket,Php,Tcp,Websocket,我有一个设备,使用tcp每5秒钟发送一次数据,我正在使用php套接字编程 我的代码不起作用了 这段代码不打印任何内容,当我在没有循环的情况下使用这段代码(while-loop)时,它就工作了 我想继续监听我的客户端每5秒钟发送的数据 请帮帮我…先谢谢你 <?php error_reporting(E_ALL); set_time_limit (0); $host = '103.21.XX.XX'; $port = 60000; $con = 1; $word = ""; $s

我有一个设备,使用tcp每5秒钟发送一次数据,我正在使用php套接字编程

我的代码不起作用了 这段代码不打印任何内容,当我在没有循环的情况下使用这段代码(while-loop)时,它就工作了 我想继续监听我的客户端每5秒钟发送的数据 请帮帮我…先谢谢你

    <?php
error_reporting(E_ALL);
set_time_limit (0);

$host = '103.21.XX.XX';

$port = 60000;
$con = 1;
$word = "";

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die(socket_strerror(socket_last_error()));
$result = socket_bind($socket, $host, $port) or die(socket_strerror(socket_last_error($socket))); 

$result = socket_listen($socket) or die(socket_strerror(socket_last_error($socket)));

while ($con==1) {
    # code...

   $spawn = socket_accept($socket) or die("Could not accept incoming connection\n");
    $input = socket_read($spawn, 2048) or die("Could not read input\n");
     $input=(String)$input;
echo $input;
    if ($input == 'exit') 
    {
        $close = socket_close($sock);
        $con = 0;
    }

    if($con == 1)
    {
        $word .= $input;
    }
}

echo $word;

?>


如果要继续收听,为什么要关闭套接字并在while循环中将
$con
变量设置为零?如果我理解你想要做什么,请正确地接受连接,然后等待读取,直到更多数据到达。Dude只有当我们从客户端发送“exit”字符串作为响应时,连接才会关闭,否则循环将继续