依赖:
<dependency>
<groupId>io.socket</groupId>
<artifactId>socket.io-client</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.corundumstudio.socketio</groupId>
<artifactId>netty-socketio</artifactId>
<version>1.7.16</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
<version>1.7.2</version>
</dependency>
后端:
import com.corundumstudio.socketio.SocketIOServer;
import com.corundumstudio.socketio.annotation.SpringAnnotationScanner;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
-
类名称:SocketConfig
-
类描述:socket.io 配置类
-
创建时间:2019/4/320:22
-
修改人:
-
修改时间:
-
修改备注:
-
@version 1.0.0
*/
@Slf4j
@Configuration
public class SocketConfig {@Bean
public SocketIOServer server() throws Exception {
com.corundumstudio.socketio.Configuration configuration = new com.corundumstudio.socketio.Configuration();
configuration.setHostname(“localhost”);
configuration.setPort(9999);
final SocketIOServer server = new SocketIOServer(configuration);
return server;
}@Bean
public SpringAnnotationScanner springAnnotationScanner(SocketIOServer socketServer) {
return new SpringAnnotationScanner(socketServer);
}
}
import lombok.Data;
import java.util.Date;
import java.util.UUID;
/**
-
类名称: Client
-
类描述:socket.io在线对象实体类
-
创建时间:2019/4/3 2:22
-
修改人:
-
修改时间:
-
修改备注:
-
@version 1.0.0
/
@Data
public class Client {
/*- 客户端ID 同用户ID
/
private String clientId;
/* - 客户端的SessionID
/
private UUID sessionId;
/*
客户端SessionID 大部分有意义的二进制数字
/
private long mostSignificantBits;
/
客户端SessionID 少部分有意义的二进制数字
/
private long leastSignificantBits;
/ - 最后连接时间
*/
private Date lastConnectedTime;
public String getClientId() {
return clientId;
}public void setClientId(String clientId) {
this.clientId = clientId;
}public UUID getSessionId() {
return sessionId;
}public void setSessionId(UUID sessionId) {
this.sessionId = sessionId;
}public long getMostSignificantBits() {
return mostSignificantBits;
}public void setMostSignificantBits(long mostSignificantBits) {
this.mostSignificantBits = mostSignificantBits;
}public long getLeastSignificantBits() {
return leastSignificantBits;
}public void setLeastSignificantBits(long leastSignificantBits) {
this.leastSignificantBits = leastSig - 客户端ID 同用户ID