簡體   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