0

题目描述

关于swoole多端口推送的问题,比如我用swoole结合tp框架的写了一个直播的网站,其中直播内容推送端口用的9502,im聊天用的9503,为什么当我对内容推送进行推送的时候连带给我9503也进行推送了?

题目来源及自己的思路

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

9503推送前端代码:
var wsurl = "ws://192.168.113.128:9503";
var ws = new WebSocket(wsurl);
// onopen事件
ws.onopen=function(evt){

console.log('连接ws成功');
// ws.send('大家好');

}
ws.onmessage=function( evt ){

console.log('WebSocket-Server-Push-消息:'+evt.data);
push(evt.data);

}
ws.onerror=function( evt ) {

console.log('连接错误');

}
ws.onclose=function( evt ) {

console.log('服务器连接关闭');

}
function push(data)
{

}
9503后段代码:
<?php
namespace appindexcontroller;

class Chart
{

public function index()
{
    //todo 这里指的是向9503端口进行推送
    foreach ($_POST['http_server']->ports[1]->connections as $fd) {
        $_POST['http_server']->push($fd,$fd);
    }
}

}

你期待的结果是什么?实际看到的错误信息又是什么?

1 个回答

0

要判断 $fd 是属于哪个服务的连接

`$clientinfo = $sever->getClientInfo($fd)
//$clieninfo => [
    'port' => '9503',
    'ip' => 
]

推广链接