如何保持Php流套接字活着?

时间:2008-10-28 05:29:16

标签: php tcp

我有一个使用stream_socket_client()的Php应用程序,通过tcp从后端服务器获取数据,但是想在池中保持连接活动甚至更好,以避免连接/断开连接。

但我不是Php大师,所以我不知道该怎么做。虽然我可能会在几个小时内搞清楚,但是我的时间可能会更好地花在挑选每个人的大脑上,所以有什么建议吗?

1 个答案:

答案 0 :(得分:5)

在创建流时设置STREAM_CLIENT_PERSISTENT标志可防止连接空闲。在内部,该标记使stream_socket_client()调用pfsockopen()doc)而不是fsockopen()doc)。

连接持久性仅限于打开连接的服务器进程。当您的脚本结束并再次调用它时,可能无法保证相同的进程处理您的请求 - 在这种情况下将打开另一个连接。将连接放入$_SESSION以进行共享将无效。