@PostConstruct
public void socketServer() {
log.info("SocketIOServer启动成功");
Configuration config = new Configuration();
config.setPort(19568);
config.setTransports(Transport.WEBSOCKET, Transport.POLLING);
config.setPingTimeout(11000);
config.setPingInterval(3000);
SocketIOServer server = new SocketIOServer(config);
//连接
server.addConnectListener(new ConnectListener() {
@Override
public void onConnect(SocketIOClient client) {
log.info("EventListener连接成功");
clientMap.put("1", client);
}
});
//log.info("大小"+clientMap.size());
//监听
server.addEventListener("tell", ImMessage.class, new DataListener<ImMessage>() {
public void onData(SocketIOClient client, ImMessage data, AckRequest ackRequest) {
//TODO
log.info("EventListener监听成功");
}
});
//断开
server.addDisconnectListener (new DisconnectListener() {
public void onDisconnect (SocketIOClient client) {
//TODO
log.info("DisconnectListener退出成功");
}
});
server.start();
log.info("SocketIO启动成功");
}
据说:server.addEventListener(1,2,3),,,,, 这三个参数的含义:1:tag 要和客户端的相同,2:接收消息的数据格式,3:接收的消息,消息类型和第二个一样。
看看代码吧…… 有时候的一个小马虎就会翻车