Core Java

Java Server

Server.java

//package com.socketio4j.examples.core;

import com.socketio4j.socketio.Configuration;
import com.socketio4j.socketio.SocketIOServer;
import com.socketio4j.socketio.SocketIOClient;

public final class BasicServer {

    private static final Logger log = LoggerFactory.getLogger(BasicServer.class);


    public static void main(String[] args) {

        Configuration config = new Configuration();
        config.setHostname("0.0.0.0");
        config.setPort(9092);
        config.setAckMode(AckMode.MANUAL);

        SocketIOServer server = new SocketIOServer(config);

        server.addConnectListener(client -> {
            log.info("Connected: {}", client.getSessionId());

            // Join room via query param: ?room=room1
            String room = client.getHandshakeData()
                    .getSingleUrlParam("room");

            if (room != null) {
                client.joinRoom(room);
                log.info("Joined room: {}", room);
            }
        });

        server.addDisconnectListener(client ->
                log.info("Disconnected: {}", client.getSessionId())
        );

        server.addEventListener(
                "message",
                String.class,
                (SocketIOClient client, String data, var ack) -> {

                    log.info("Received: {}", data);

                    // Broadcast to all clients
                    server.getBroadcastOperations()
                          .sendEvent("message", data);

                    ack.sendAckData("ok");
                }
        );

        server.start();
        log.info("SocketIO4J server started on :9092");

    }
}

Client Examples

Last updated

Was this helpful?