Javascript 来自一个外部ip地址的WebSocket客户端

Javascript 来自一个外部ip地址的WebSocket客户端,javascript,tomcat,networking,websocket,local,Javascript,Tomcat,Networking,Websocket,Local,我通过WebSocket写了一篇聊天。 服务器端用Java(Tomcat)编写,客户端用JavaScript编写 一切正常。但当我尝试从本地网络中的两台机器(它们在路由器下;有一个外部ip)连接到服务器时,只有一个客户端从服务器接收数据 连接(socket.onopen())对两者都有效。发送(数据)也可以在两个客户端上工作 但接收消息(socket.onmessage())只在第一个连接的客户端上工作 我如何解决这个问题 问题出现在服务器部分 我想将传入消息广播到ArrayList中的所有可用

我通过WebSocket写了一篇聊天。 服务器端用Java(Tomcat)编写,客户端用JavaScript编写

一切正常。但当我尝试从本地网络中的两台机器(它们在路由器下;有一个外部ip)连接到服务器时,只有一个客户端从服务器接收数据

连接(socket.onopen())对两者都有效。发送(数据)也可以在两个客户端上工作

但接收消息(socket.onmessage())只在第一个连接的客户端上工作


我如何解决这个问题

问题出现在服务器部分

我想将传入消息广播到ArrayList中的所有可用连接

向第一个用户发送消息后,收到的消息变为空。所以,消息被发送了,但它只是一个空字符串

我的英语不好。所以我会呐喊:

之前:

 protected void onTextMessage(CharBuffer message) throws IOException {
  // List<MessageInbound> connections
  for (MessageInbound user : connections ) 
   user.getWsOutbound.writeTextMessage(message);
 } 
 protected void onTextMessage(CharBuffer message) throws IOException {
  String msg = message.toString();
  for (MessageInbound user : connections ) 
   user.getWsOutbound.writeTextMessage(CharBuffer.wrap(msg));
 }