我有一个应用程序,是用来连接到一个服务,每周一次1小时的会话。此会话有许多要求,其中之一是我们一次只有一个打开的tcp连接。
在我们已经完成的大约30个会话中,我们已经有3个会话在1小时内打开了多个tcp连接。
我想知道php中是否有一个方法可以返回连接状态,我已经考虑过使用netstat并查找我们连接的服务器的ip,然后根据该状态确定是否可以继续,或者我们应该等待。这样做的问题是,我们计划在未来购买更多的连接,这将导致一次只通过一个连接。
我们正在使用zend框架中的Zend_Http_Client,并尝试了以下方法:
取消设置客户端和适配器对象在上次取消设置和关闭适配器时,在客户端请求函数之后显式调用适配器关闭函数
万事如意,
杰森
发布于 2009-11-16 11:31:54
最简单的方法可能是执行netstat命令,然后查看当前是否建立了到远程主机的连接。
发布于 2009-11-16 11:38:08
你不应该试图在客户端解决这个问题。限制服务器中的并发连接。
发布于 2011-09-01 10:09:16
在重新考虑了这个问题之后,我决定每次都使用套接字流选项中的bindto选项来绑定到相同的端口。这将确保关闭先前的连接并释放端口。
测试尚未完成,但初步结果未显示重复连接。
http://ca.php.net/manual/en/context.socket.php
https://stackoverflow.com/questions/1739882
复制相似问题