繁体   English   中英

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

[英]WebSocket clients from one external ip address

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

一切正常。 但是,当我尝试从局域网中的两台计算机(它们都位于路由器下;具有一个外部IP)连接到服务器时,只有一个客户端从服务器接收数据。

连接(socket.onopen())都适用。 socket.send(data)也可以在两个客户端上使用;

但是接收消息(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));
 } 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM