Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何查看已建立的套接字是否卡在';她在等你的意见吗?_Php_Sockets - Fatal编程技术网

Php 如何查看已建立的套接字是否卡在';她在等你的意见吗?

Php 如何查看已建立的套接字是否卡在';她在等你的意见吗?,php,sockets,Php,Sockets,我有一个脚本,可以扫描打开的代理服务器的端口。问题是,如果它遇到一个登录程序(特别是telnet),那么它将永远挂在那里,因为它不知道该做什么,最终服务器会关闭连接 简单的解决方案是创建一组案例。如果是telnet,请执行此操作。如果是SSH,那么就这样做。如果有别的事,诸如此类。我想要一个伞式解决方案,因为脚本对我来说不是很重要 现在的脚本可以在 在小范围内(页面可能平均每天点击15次)这很好,但在更大范围内,我会担心大量打开的僵尸套接字 交换数据$strpos不起作用,因为服务器可以返回比您

我有一个脚本,可以扫描打开的代理服务器的端口。问题是,如果它遇到一个登录程序(特别是telnet),那么它将永远挂在那里,因为它不知道该做什么,最终服务器会关闭连接

简单的解决方案是创建一组案例。如果是telnet,请执行此操作。如果是SSH,那么就这样做。如果有别的事,诸如此类。我想要一个伞式解决方案,因为脚本对我来说不是很重要

现在的脚本可以在

在小范围内(页面可能平均每天点击15次)这很好,但在更大范围内,我会担心大量打开的僵尸套接字

交换数据$strpos不起作用,因为服务器可以返回比您请求的更多的信息(标题、广告等)

仅从$fgets接受固定数量的字节(而不是现在添加到EOF)似乎也不起作用。我确信这就是它被卡住的地方: 而(!feof($fp)){ $data.=fgets($fp,512); }

但是我能做什么呢?任何其他建议/警告也将受到欢迎。

用于设置套接字上的读/写超时。

使用and和超时或轮询