2022/1/4TCP和websocket通讯

Posted 一梦千年系列

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2022/1/4TCP和websocket通讯相关的知识,希望对你有一定的参考价值。

TCP和websocket通讯


使用场景:通过网页控制硬件设备,或者硬件设备的信息显示到网页上
【2022/1/4】TCP和websocket通讯_php


所用技术

  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/4】TCP和websocket通讯_websocket_02

以上是关于2022/1/4TCP和websocket通讯的主要内容,如果未能解决你的问题,请参考以下文章

java WebSocket 即时通讯服务端代码

java SSM框架 websocket即时通讯 代码生成器 shiro redis 后台框架源码

动手实践,即时通讯WebSocket的代码实现

nodejs+expressjs+ws实现了websocket即时通讯,服务器和客户端互相通信

集成websocket即时通讯 java聊天源码 代码下载

Uniapp使用GoEasy实现websocket实时通讯