核心 Java
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());
// 通过查询参数加入房间:?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);
// 广播给所有客户端
server.getBroadcastOperations()
.sendEvent("message", data);
ack.sendAckData("ok");
}
);
server.start();
log.info("SocketIO4J server started on :9092");
}
}
客户端示例
最后更新于
这有帮助吗?