php - 如何使 Php stream_socket 保持事件状态?

标签 php tcp

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

但我不是 Php 高手,所以我不知道该怎么做。虽然我可能会在几个小时内弄清楚,但我的时间可能更适合花在征求每个人的意见上,所以有什么建议吗?

最佳答案

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

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

关于php - 如何使 Php stream_socket 保持事件状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/242316/

相关文章:

android - 如何使用蓝牙使用adb?

pcap_loop 的最后一个参数中的编译器警告。指向不同大小的整数

java - 将 array_walk 从 php 转换为 java 方法

javascript - 格式化transformRequest - Angular 到 PHP

c++ - tcp 缓冲区中的多个消息

ruby - 使用 Seq No 、 Ack No 和/或 Datasize 区分 TCP 连接

php - 使用 multipart/form-data 上传 curl 文件

php - 使用 cron 作业作为后台 php

php - SQL 按重复行计数和排序

php - 在 PHP 中流式传输