连接服务器框架协议,想要实现:设备通过tcp连接服务器,框架用的是worker或者gateway...
有几种方式可以做到
1、最简单的方式,开一个worker进程即监听tcp,又监听websocket,这样在一个进程里方便互相操作连接传递数据
use Workerman\Worker;
// 监听tcp端口,硬件连这个端口
$iot_worker = new Worker('tcp://0.0.0.0:1234');
// 两个协议互通这种方式只能单进程
$iot_worker->count = 1;
// 进程启动时增加一个5678端口的websocket协议的监听,网页用ws连5678端口
$iot_worker->onWorkerStart = function(){
// 声明为全局变量,方便其它地方获取到这个容器对象
global $ws_worker;
// 监听5678端口,协议websocket
$ws_worker = new Worker('websocket://0.0.0.0:5678');
// 网页ws发来数据的时候的处理,可根据需要做处理,这里省略
$ws_worker->onMessage = function($ws_connection, $data){...};
$ws_worker->listen();
};
// 硬件发来消息的回调
$iot_worker->onMessage = function($connection, $data){
// 得到$ws_worker容器
global $ws_worker;
// 遍历容器里的连接给所有网页推送硬件发来的数据
foreach($ws_worker->connections as $ws_connection) {
$ws_connection->send($data);
}
};
// 启动workerman
Worker::runAll();
2、开A B两组worker进程,A组进程监听tcp,B组进程监听websocket,利用channel通讯,可以参考workerman手册
http://doc.workerman.net/comp...
http://doc.workerman.net/comp...
好处是可以分布式部署,可以多进程多服务器集群
3、用gatewayWorker,开一组tcp端口的gateway进程+一组websocket的进程,参考手册
http://doc2.workerman.net/mul...
好处是同样可以分部署部署,可以多进程多服务器集群,并且gatewayWorker提供了很多长连接直接可以用的接口,非常方便
连接服务器框架协议,想要实现:设备通过tcp连接服务器,框架用的是worker或者gateway...相关推荐
- 国标流媒体服务器GB28181协议和海康设备的交互过程记录
国标GB28181协议从2016年更新后,变得比之前更火了,到今年已经4年了,国标视频流媒体服务器基础的功能都已经发展起来,而更深层次的功能还需要进一步的研发. 在日常运用中,海康的摄像头运用较为广泛 ...
- 客户端请求服务器的协议,电骡协议规范-第二章-客户端和服务器TCP通讯
每个客户端用 TCP 连接到具体的服务器.服务器给客户端分配一个 ID ,这个 ID 用来标示其后与服务器的会话中该客户端(高 ID 客户端总是按照它的 IP 地址来分配).电骡 GUI 客户端为了运 ...
- B站服务器数据协议,阴阳师手游数据互通 B站服务器合服公告一览
阴阳师手游数据互通 B站服务器合服公告一览,阴阳师手游B站服务器合服公告内容带给大家,包括了亲密无间.情深谊长.情意相投.两心无间这四个服务器进行数据互通,下面是补偿奖励和注意事项. 为提升部分服务器 ...
- 【Linux网络编程笔记】TCP短连接产生大量TIME_WAIT导致无法对外建立新TCP连接的原因及解决方法—实践篇
1. 查看系统网络配置和当前TCP状态 在定位并处理应用程序出现的网络问题时,了解系统默认网络配置是非常必要的.以x86_64平台Linux kernelversion 2.6.9的机 ...
- TCP短连接产生大量TIME_WAIT导致无法对外建立新TCP连接的原因及解决方法—基础知识篇...
最近遇到一个线上报警:服务器出现大量TIME_WAIT导致其无法与下游模块建立新HTTP连接,在解决过程中,通过查阅经典教材和技术文章,加深了对TCP网络问题的理解.作为笔记,记录于此. ...
- 股票服务器通讯协议,通俗讲解股票类app - TCP网络通信层设计
场景 要做的产品 --- 炒股app 数据量大:5000多支股票,每支股票有分时,分笔数据,画一条k线,可能要500条分时数据,甚至更多. 实时性:股价每分每秒都在变化,一分钟产生很多条数据,用户要看 ...
- 服务器http协议拨测状态告警,使用 SCF 无服务器云函数定时拨测站点并邮件告警...
利用无服务器架构中提供的定时触发能力,在运维监控场景有很多种用处,例如定时备份.定时拨测.定时统计等.在互联网业务监控运维的场景下,我们通常可以利用定时拨测,检测系统或服务的健康状态,并在系统异常的情 ...
- linux中ftp保持连接,linux – FTP’ing大文件时如何防止TCP连接超时?
我无法将大型文件从Internet(FTP)检索到我的 Linux VM.一段时间后它会超时. 实际错误是"无法读取控制连接的回复 – 超时". 几分钟后,在传输了大量文件后,会发 ...
- 网络七层协议 五层模型 TCP连接 HTTP连接 socket套接字
socket(套接字)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程 ...
最新文章
- python学习之第四课时--运算符
- 深度学习工具那么多,究竟哪款最适合你?| 线下沙龙 × 报名
- 从零写一个编译器(八):语义分析之构造符号表
- Python中map()函数用法
- 哈希表,哈希算法(C语言)
- FastStoneCapture屏幕截图软件
- linux 如何解压.exe,linux下解压火狐浏览器压缩包 ./filefox 运行可执行程序报错问题...
- 记ByteCTF中的Node题
- (98)Verilog HDL:流水灯设计
- 凉凉了,Eureka 宣布闭源,Spring Cloud 何去何从?
- 编程之美:寻找发帖水王 扩展
- 机器人学导论 一、空间变换(1)位姿,变换
- AUTOCAD——超级填充命令3
- python MySQLdb 一个连接connection多个cursor
- 华为云服务器协议,云服务器协议
- 离婚时,住房公积金分割吗?
- HITNet: Hierarchical Iterative Tile Refinement Network for Real-time Stereo Matching--Google
- IT运维审计:新手入门之服务器运维操作要点
- 两个整数之间的所有素数,素数个数,素数和
- 常见ADSL管理入口和密码