[英]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.