我创建了一个使用websockets的示例聊天应用程序,该应用程序在同一台计算机上运行良好。我想在不同的机器上运行客户端和服务器。但是我很困惑如何在单独的机器上使用 websocket,因为 websocket 的操作(即 onopen、onclose、onmessage 等)发生在相应的事件中。如何在单独的机器上运行 websocket 客户端和服务器?
在你的客户端中,你写了这样的东西:ws://localhost:8080/
,用要发送命令的不同系统的 IP 地址替换你的localhost
。
但是两台计算机应该在同一网络上。
您需要添加一个消息代理(如 RabbitMQ),它将从您的服务器获取消息,客户端将订阅相同的代理并在从服务器发送消息时接收消息。服务器需要使用路由密钥向代理(代理上的交换)广播消息,并且此路由密钥将绑定到队列,客户端将使用相同的密钥(一些公共会话)订阅此交换。