标签: php tcp
我有一个使用stream_socket_client()的Php应用程序,通过tcp从后端服务器获取数据,但是想在池中保持连接活动甚至更好,以避免连接/断开连接。
但我不是Php大师,所以我不知道该怎么做。虽然我可能会在几个小时内搞清楚,但是我的时间可能会更好地花在挑选每个人的大脑上,所以有什么建议吗?
答案 0 :(得分:5)
在创建流时设置STREAM_CLIENT_PERSISTENT标志可防止连接空闲。在内部,该标记使stream_socket_client()调用pfsockopen()(doc)而不是fsockopen()(doc)。
STREAM_CLIENT_PERSISTENT
stream_socket_client()
pfsockopen()
fsockopen()
连接持久性仅限于打开连接的服务器进程。当您的脚本结束并再次调用它时,可能无法保证相同的进程处理您的请求 - 在这种情况下将打开另一个连接。将连接放入$_SESSION以进行共享将无效。
$_SESSION