前言:
1、使用netty-socketio搭建socketIo服务;
2、client连接socketIo服务时,保存下该client对象;
3、使用TestController,向指定client推送消息;
一、netty-socket.io版本;
<dependency>
<groupId>com.corundumstudio.socketio</groupId>
<artifactId>netty-socketio</artifactId>
<version>1.7.16</version>
</dependency>
二、创建socketIoServer实例;
/**
* 创建socketIOServer实例
* @return
*/
@Bean
public SocketIOServer socketIOServer() {
com.corundumstudio.socketio.Configuration config = new com.corundumstudio.socketio.Configuration();
config.setHostname(host);
config.setPort(port);
setAuthorizationListener(config);
return new SocketIOServer(config);
}
三、socketIo client连接校验说明;
设想是通过服务端颁发token给client页面,当client页面进行连接时,将服务端颁发的token传递回来。服务端通过client传递的一系列参数,取出服务端保存的token,与传递的token做验证。
本文未做上述逻辑校验,仅是将client传递的参数打印在控制台。
/**
* 设置socketio client连接时的安全校验
* @param config
*/
private void setAuthorizationListener(com.corundumstudio.socketio.Configuration config) {
config.setAuthorizationListener(new Authori