我正在使用Java為客戶端創(chuàng)建WebSocket服務(wù)器以及Javascript和HTML。服務(wù)器成功啟動,并且可以接受來自WebSocket客戶端的連接,但是,每次客戶端連接時,它都在創(chuàng)建服務(wù)器的新實例。Code of Server:-import java.util.HashSet;import java.util.Set;import javax.websocket.OnClose;import javax.websocket.OnError;import javax.websocket.OnMessage;import javax.websocket.OnOpen;import javax.websocket.Session;import javax.websocket.server.ServerEndpoint;@ServerEndpoint("/websocketendpoint")public class WsServer { Set<Session> sessions = new HashSet<Session>(); int count = 0; @OnOpen public void onOpen(Session session){ System.out.println("Open Connection ..."); count+=1; System.out.println(count); //On the logcat it shows only 1 sessions.add(session); for(Session s: sessions) { System.out.println(s); //On the logcat it shows only session } } @OnClose public void onClose(){ System.out.println("Close Connection ..."); } @OnMessage public String onMessage(String message){ System.out.println("Message from the client: " + message); String echoMsg = "Echo from the server : " + message; return echoMsg; } @OnError public void onError(Throwable e){ e.printStackTrace(); }}在第二個客戶端連接之后,它僅將1表示為一個計數(shù),并且在上僅存儲了一個會話Set。我正在使用的技術(shù):-Tomcat v9.0Eclipse Java EE IDE服務(wù)器用Java和客戶端用JavaScript用于WebSocket的javax.websocket。我的問題是我們?nèi)绾尾拍芡V惯@種情況并使客戶端僅連接到一個實例?
Java Websocket與服務(wù)器的每個客戶端連接都創(chuàng)建新實例
慕無忌1623718
2021-04-16 18:41:15