TP+WorkerMan访问binance wss端口

define('BIND_MODULE','api/Worker/start');服务启动文件,启动start方法
    public function start()
    {
        $this->getMarkPrice();
        Worker::runAll();
    }

getMarkPrice()方法内访问外部wss端口websocket服务

方法内new Worker(),设置worker子进程启动时的回调函数onWorkerStart

new AsyncTcpConnection('');创建一个异步链接对象,作为客户端向服务端发送通过send和onMessage异步发送和处理链接上的数据。
            $binance = new AsyncTcpConnection('ws://fstream.binance.com/ws/bnbusdt@markPrice');
            $binance->transport = 'ssl';
            $binance->onConnect =function ($binance)
            {
                echo "success";
            };

            $binance->onMessage = function (AsyncTcpConnection $binance, $data) {
                var_dump($data);
            };

            $binance->connect();

返回结果

string(147) "{"e":"markPriceUpdate","E":1642988358009,"s":"BNBUSDT","p":"374.60277560","P":"376.98405577","i":"374.90433294","r":"0.00000000","T":1643011200000}"
### ThinkPHP6 WebSocket服务器实现和配置 #### 配置环境 为了使ThinkPHP6支持WebSocket,需安装`topthink/think-swoole`扩展包。通过Composer来管理依赖项是一个推荐的做法[^2]。 ```bash composer require topthink/think-swoole ``` #### 创建Swoole Server 在项目根目录下执行命令创建一个新的Swoole服务文件: ```bash php think make:swoole-server ws_server --type=websocket ``` 这将在应用的`app/command`目录内生成一个名为WsServer.php的服务类模板[^1]。 #### 修改配置文件 编辑项目的`swoole.php`配置文件,在其中定义与WebSocket有关的各项参数设置,比如监听地址、端口等信息。确保这些设定满足实际部署需求。 #### 启动WebSocket服务 利用如下CLI指令启动已建立好的WebSocket服务实例: ```bash php think swoole:server start ``` 对于重启操作,则可采用下面这条命令完成: ```bash php think swoole:server restart ``` 上述过程能够有效初始化并运行基于ThinkPHP框架下的WebSocket功能模块。 #### 编写业务逻辑处理程序 针对接收到的消息事件编写相应的处理器函数,通常是在控制器里边定义具体的响应机制。例如当有新消息到来时触发特定的动作或是广播给其他在线用户等等。 ```php public function onMessage($ws, $frame) { // 处理接收的数据帧... } ``` #### 客户端测试验证 最后一步便是借助浏览器或其他工具来进行简单的连通性检测以及交互流程模拟,确认整个系统的正常运作状态。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值