我正在使用Java为客户端创建WebSocket服务器以及Javascript和HTML。服务器成功启动,并且可以接受来自WebSocket客户端的连接,但是,每次客户端连接时,它都在创建服务器的新实例。
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表示为一个计数,并且在上仅存储了一个会话Set
。
我正在使用的技术:-
Tomcat v9.0
Eclipse Java EE IDE
服务器用Java和客户端用JavaScript
用于WebSocket的javax.websocket。
我的问题是我们如何才能停止这种情况并使客户端仅连接到一个实例?
米脂
慕斯709654
相关分类