gpt4 book ai didi

php - 如何接受与设备的多个连接

转载 作者:行者123 更新时间:2023-12-03 12:05:13 25 4
gpt4 key购买 nike

我正在创建一个套接字脚本,它将监听我们的3个设备。并且仅在一个服务器ip和一个端口中设置了该设备。

 $file = fopen('txt.log','a+');
$server = stream_socket_server('tcp://'.$ipserver.':'.$port, $errno, $errorMessage);

if(!$server) {
echo "$errorMessage ($errno)<br />\n";
}
else{

while($client = @stream_socket_accept($server,$timeout)) {
stream_copy_to_stream($client, $file);
fclose($file);
fclose($client);


}

}

但是问题是,如果连接了一个设备,那么这两个设备将无法再连接。我很感激其中一些可以帮助我完成这项工作。

先感谢您。

最佳答案

$file = fopen('txt.log', 'a+');
$server = stream_socket_server("tcp://$ipserver:$port", $errno, $errorMessage);
if (!$server)
echo "$errorMessage ($errno)<br />\n";
else
{
$s = array($server);
$t = $timeout == -1 ? NULL : $timeout;
while ($r = $s and stream_select($r, $n=NULL, $n=NULL, $t))
foreach ($r as $stream)
if ($stream == $server) // new client
$s[] = stream_socket_accept($server, -1);
else
if (!fputs($file, fgets($stream)))
{
fclose($stream);
array_splice($s, array_search($stream, $s), 1);
}
}

关于php - 如何接受与设备的多个连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24901812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com