[英]How to tell if socket is open in PHP?
我需要维护一些用PHP打开的套接字,并定期检查这些套接字。 我是PHP套接字的新手。 我像这样打开插座:
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_connect($socket, $ip, $port);
一些套接字可能会进入不返回消息的状态。 这些套接字仅接收消息。 如果套接字不响应消息,如何判断套接字是否打开?
socket_sendto —将消息发送到套接字(无论是否已连接)
似乎您可以使用socket_sendto并将一些“ ping”数据发送到远程主机,然后测试返回值以确定套接字是否仍然建立。
最好使用以下函数:fsockopen()
阅读此: http : //www.php.net/manual/en/function.fsockopen.php
或者您可以尝试使用以下函数:socket_create_listen()
阅读此内容: http : //www.php.net/manual/zh/function.socket-create-listen.php
(这只是实验性的。)
并定期检查您可以使用简单的cron进行检查。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.