Java websocket对等客户端套接字管理
我正在尝试构建点对点跨平台聊天移动应用程序,但我对服务器编程还不熟悉。服务器是用java编写的,我正在为服务器使用spark micro framework,为套接字连接使用Java websocket对等客户端套接字管理,java,sockets,server,client-server,chat,Java,Sockets,Server,Client Server,Chat,我正在尝试构建点对点跨平台聊天移动应用程序,但我对服务器编程还不熟悉。服务器是用java编写的,我正在为服务器使用spark micro framework,为套接字连接使用org.java_websocket,我看到了一些教程,并实现了一个扩展WebSocketServer的类,我确实了解了套接字的工作方式和接口方法的调用。但有几件事我想不出来: 如何管理多个客户端,以及它们如何连接到我的服务器。假设1000个用户想要连接到我的服务器,那么如何实现这一点 如果我设法连接了1000个用户,那么如
org.java_websocket
,我看到了一些教程,并实现了一个扩展WebSocketServer
的类,我确实了解了套接字的工作方式和接口方法的调用。但有几件事我想不出来:
public class SocketHandler extends WebSocketServer {
public SocketHandler(int port) throws UnknownHostException{
super(new InetSocketAddress( port ));
}
public SocketHandler(InetSocketAddress address) throws UnknownHostException{
super(address);
}
@Override
public void onOpen( WebSocket conn, ClientHandshake handshake ) {
this.sendToAll( "new connection: " + handshake.getResourceDescriptor() );
System.out.println( conn.getRemoteSocketAddress().getAddress().getHostAddress() + " entered the room!" );
}
@Override
public void onClose( WebSocket conn, int code, String reason, boolean remote ) {
this.sendToAll( conn + " has left the room!" );
System.out.println( conn + " has left the room!" );
}
@Override
public void onMessage( WebSocket conn, String message ) {
this.sendToAll( message );
System.out.println( conn + ": " + message );
}
@Override
public void onWebsocketMessageFragment(WebSocket conn, Framedata frame) {
super.onWebsocketMessageFragment(conn, frame);
System.out.println( "received fragment: " + frame );
}
}