Netty-socketio-demo: netty-socketio-demo: netty-Socketio-demo: Netty-Socketio-demo: Netty-Socketio-demo: Netty-Socketio-demo: Netty-Socketio-demo: Netty-Socketio-demo: Netty-Socketio-demo: Netty-Socketio-demo: Netty-Socketio-demo: Netty-Socketio-demo: If you need to connect to webSocket Server in Java, see the following example:

package com.me.learn.socket.server; import com.corundumstudio.socketio.AckRequest; import com.corundumstudio.socketio.Configuration; import com.corundumstudio.socketio.SocketIOClient; import com.corundumstudio.socketio.SocketIOServer; import com.corundumstudio.socketio.listener.ConnectListener; import com.corundumstudio.socketio.listener.DataListener; import io.socket.engineio.client.Socket; public class DemoSocketServer { public static void main(String[] args) throws InterruptedException { Configuration config = new Configuration(); config.setHostname("localhost"); config.setPort(9092); final SocketIOServer server = new SocketIOServer(config); server.addConnectListener(new ConnectListener() { @Override public void onConnect(SocketIOClient client) { String token = client.getHandshakeData().getUrlParams().get("token").get(0); if (! token.equals("8888888")) { client.disconnect(); Println ("sessionId:" + client.getsessionId () + ",token:" + token);} system.out. println("sessionId:" + client.getsessionId () + ",token:" + token); }}); server.addEventListener(Socket.EVENT_MESSAGE, String.class, new DataListener<String>() { @Override public void onData(SocketIOClient client, String data, AckRequest ackSender) throws Exception { System.out.println("client data:" + data); server.getBroadcastOperations().sendEvent(Socket.EVENT_MESSAGE, "hi"); }}); server.start(); Thread.sleep(Integer.MAX_VALUE); server.stop(); }}Copy the code

The client should use socket. IO -client- Java

package com.me.learn.socket.client; import io.socket.client.IO; import io.socket.client.Socket; import io.socket.emitter.Emitter; import java.net.URISyntaxException; public class DemoSocketClient { public static void main(String[] args) throws URISyntaxException, InterruptedException { IO.Options options = new IO.Options(); options.transports = new String[]{"websocket"}; options.reconnectionAttempts = 2; options.reconnectionDelay = 1000; Options. timeout = 500; // Connection timeout (ms)// final Socket Socket = IO. Socket ("http://localhost:9092/? token=123456", options); // Incorrect token value connection example Final Socket Socket = IO. Socket ("http://localhost:9092/? token=8888888", options); socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() { @Override public void call(Object... args) { socket.send("hello"); }}); socket.on(Socket.EVENT_DISCONNECT, new Emitter.Listener() { @Override public void call(Object... Args) {system.out.println (" connection closed "); }}); socket.on("message", new Emitter.Listener() { @Override public void call(Object... args) { System.out.println("sessionId:" + socket.id()); for (Object obj : args) { System.out.println(obj); } system.out. println(" Received a reply from the server, about to disconnect...") ); socket.disconnect(); }}); socket.connect(); }}Copy the code

Note: the above code for communication can be realized by reference from the open source project demo. Here, it needs to be noted that the version is not compatible. The normal running version requires: Netty-Socketio is 1.7.x version socket.io-client is 1.0.x version