2022/1/4TCP和websocket通讯

书到用时方恨少,事非经过不知难。这篇文章主要讲述2022/1/4TCP和websocket通讯相关的知识,希望能为你提供帮助。
TCP和websocket通讯



使用场景:通过网页控制硬件设备,或者硬件设备的信息显示到网页上



所用技术
  1. php环境
  2. workerman

实现原理


启动一个??websocket???服务端,进程启动的时候启动tcp,把tcp设置为??websocket???的一个属性上??socketArray???,然后在??websocket???接受消息的回调里获取??socketArray??,循环取出tcp链接,发送消息


代码
< ?php
use Workerman\\Worker;

require_once __DIR__ . /vendor/autoload.php;

$websocket = new Worker(Websocket://0.0.0.0:8888);
$websocket-> count = 1;
$websocket-> onWorkerStart = function ($websocket)
// 启动第一个tcp进程
$tcp1 = new Worker(tcp://0.0.0.0:6000);
// 设置到socketArray属性上
$websocket-> tcpArray[] = $tcp1;
$tcp1-> listen();

// 启动第二个tcp
$tcp2 = new Worker(tcp://0.0.0.0:6001);
$websocket-> tcpArray[] = $tcp2;
$tcp2-> listen();
;

// 接受websocket消息后转发给tcp
$websocket-> onMessage = function ($conn, $data)
global $websocket;

foreach($websocket-> tcpArray as $tcpItem)

foreach ($tcpItem-> connections as $tcpConn)
$tcpConn-> send($data);


;

Worker::runAll();


【2022/1/4TCP和websocket通讯】

    推荐阅读