首页 文章

Ratchet Symfony3:如何从外部访问当前服务器

提问于
浏览
6

这是我用于websocket服务器目的的Symfony3命令

public function __construct(ChatFlowProcessor $chatManager, int $webSocketPort)
    {
        $this->chatManager = $chatManager;
        $this->webSocketPort = $webSocketPort;
        parent::__construct();
    }

    $server = IoServer::factory(
        new HttpServer(
            new WsServer(
                $this->chatManager
            )
        ),
        $this->webSocketPort
    );
    $server->run();

如你所见,我只是使用Symfony3自动装配 chatManager . 该服务实现了Ratchet MessageComponentInterface .

现在,我想从连接外部访问服务器 . 我的意思是,使用我的 chatManager 向websocket客户端发送消息,显然我需要访问存储在WsServer中的 chatManager 实例并保留有关所有活动连接的信息 .

可能吗?谢谢 .

1 回答

  • 0

    您不需要访问chatManager就可以发送消息 . 它是一个聊天服务器,只有IS用于从/向其所有客户端传输消息 .

    只需创建一个websocket客户端,将其连接到您的服务器(与其他客户端一起)并开始发送(和接收)消息 . 必须在chatManager(Ratchets MessageComponentInterface)中实现任何特殊功能(例如,仅向一个客户端发送消息或获取所有客户端的列表等) .

    也许我误解了这个问题,对不起 .

相关问题