我希望php继续侦听套接字(php套接字编程)
我有一个设备,使用tcp每5秒钟发送一次数据,我正在使用php套接字编程 我的代码不起作用了 这段代码不打印任何内容,当我在没有循环的情况下使用这段代码(while-loop)时,它就工作了 我想继续监听我的客户端每5秒钟发送的数据 请帮帮我…先谢谢你我希望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
<?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”字符串作为响应时,连接才会关闭,否则循环将继续