我一直在尝试使用线程来管理套接字连接.但是在执行我的进程/线程之间,套接字没有得到清理,我得到了异常:
socket_create_listen():无法绑定到给定的地址[98]:已经在使用的地址......大约1分钟后它将被最终清除.
我在互联网上搜索过,但找不到解决方案.此外,如果您删除while(1)循环中的代码并执行两次我的php文件,它也会给出相同的错误.我希望所有的资源都可以通过流程退出来清理.
<?php
date_default_timezone_set('UTC');
echo date("H:i:s")."\tINFO: Starting my test\n";
$socket = null;
//start our test
try {
echo date("H:i:s")."\tINFO: Setup socket for 1st time\n";
setupSocket();
usleep(100000);
//send request to socket via curl
$command = 'curl -s --no-buffer -d "{\"action\":\"getStatus\"}" -o socket.txt http://localhost:13000 > socket.log 2>&1 &';
exec($command);
usleep(100000);
echo date("H:i:s")."\tINFO: Now processing request\n";
processRequest();
echo date("H:i:s")."\tINFO: Close socket\n";
closeSocket();
} catch (Exception $e) {
echo date("H:i:s")."\tERROR: ".$e->getMessage() ."\n";
}
while(1) {
try {
echo date("H:i:s")."\tINFO: Try again to set …Run Code Online (Sandbox Code Playgroud)