我需要维护一些用PHP打开的套接字,并定期检查这些套接字。我是PHP的套接字的新手;我打开了这样的插座:
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_connect($socket, $ip, $port);
某些套接字可能会进入不返回消息的状态;这些套接字只接收消息。 如果套接字没有响应消息,如何判断套接字是否打开?
答案 0 :(得分:2)
socket_sendto - 向套接字发送消息,无论是否已连接
好像你可以使用socket_sendto并将一些'ping'数据发送到远程主机,然后测试返回值以确定套接字是否仍然建立。
答案 1 :(得分:0)
最好使用函数:fsockopen()
阅读本文:http://www.php.net/manual/en/function.fsockopen.php
或者你可以尝试使用函数:socket_create_listen()
阅读本文:http://www.php.net/manual/en/function.socket-create-listen.php
(这只是实验性的。)
并定期检查,你可以使用一个简单的cron。