workerman转发中转服务

涉及到充电桩的调试和数据迁移,我们决定使用转发中转服务,灵活的达到了和原有程序的无缝对接

需求就是从一个socket客户端A1接到消息转发给服务端B1,思路很简单,将中转程序当作一个服务端,就叫做服务端B2,然后再用workerman的AsyncTcpConnection的类做一个随着系统启动的TCP客户端A2,A2拿到服务端B2接到消息,连接服务器B1,转发给它

代码:

<?php
use Workerman\Worker;
use Workerman\Connection\AsyncTcpConnection;
require_once './Workerman/Autoloader.php';

$worker = new Worker('tcp://0.0.0.0:8483');
$worker->count = 12;

// tcp连接建立后
$worker->onConnect = function($connection)
{
        // 建立本地80端口的异步连接
        $connection_to_80 = new AsyncTcpConnection('tcp://127.0.0.1:80');
        // 设置将当前客户端连接的数据导向80端口的连接
        $connection->pipe($connection_to_80);
        // 设置80端口连接返回的数据导向客户端连接
        $connection_to_80->pipe($connection);
        // 执行异步连接
        $connection_to_80->connect();
};
// 运行worker
Worker::runAll()

以上则是简单的转发程序代码 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值