如何判断套接字是否在PHP中打开?

Joh*_*n R 8 php sockets

我需要维护一些我用PHP打开的套接字,并定期检查这些套接字.我是PHP的套接字的新手; 我打开这样的插座:

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); 
socket_connect($socket, $ip, $port);
Run Code Online (Sandbox Code Playgroud)

有些套接字可能会进入不返回消息的状态; 这些套接字只接收消息.如果套接字没有响应消息,如何判断套接字是否打开?

Mik*_*ell 2

\n

socket_sendto \xe2\x80\x94 向套接字发送消息,无论它是否已连接

\n
\n\n

似乎您可以使用socket_sendto并向远程主机发送一些“ping”数据,然后测试返回值以确定套接字是否仍然建立。

\n