这是我用于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
。该服务实现了棘轮MessageComponentInterface
。
现在,我想从连接外部访问服务器。我的意思是,使用我的chatManager
向websocket客户端发送一条消息,显然我需要访问存储在WsServer中的chatManager
实例,并保留有关所有活动连接的信息。
有可能吗?谢谢。
答案 0 :(得分:0)
您无需仅发送消息即可访问chatManager。这是一个聊天服务器,仅用于向所有客户端传输消息或向所有客户端传输消息。
只需创建一个websocket客户端,将其连接到您的服务器(以及其他客户端),然后开始发送(和接收)消息。任何特殊功能(例如,仅向一个客户端发送消息或获取所有客户端的列表等)都必须在chatManager(Ratchets MessageComponentInterface)中实现。
也许我误解了这个问题,对不起。