如何在 JAVA 中自定义套接字 io 服务器的握手 url
How to customise handshake url of socket io server in JAVA
我需要使用 java 中的 Netty 套接字 io 库启动套接字 io 服务器。这应该由客户端使用自定义 URL.
连接
正常的握手 URL 应该是这样的:- http://192.168.1.190:8021/socket.io/?EIO=3&transport=polling&t=15669875
但是我需要像下面这样自定义它,我应该怎么做。
http://192.168.1.190:8021/myapp/socket.io/?EIO=3&transport=polling&t=15669875
套接字服务器代码
public void start() {
Configuration config = new Configuration();
config.setHostname(hostIP);
config.setPort(hostPort);
socketServer = new SocketIOServer(config);
// For collecting Socket client ID
socketServer.addEventListener("Topic", SocketNotificationData.class,
new DataListener<SocketNotificationData>() {
@Override
public void onData(final SocketIOClient client, SocketNotificationData data, final AckRequest ackRequest) throws Exception {
logger.info(" ----------One socket-- client id - "
+ client.getSessionId().toString());
}
});
socketServer.start();
}
后来我找到了答案
Configuration config = new Configuration();
config.setHostname(hostIP);
config.setPort(hostPort);
config.setContext("/myapp");
我需要使用 java 中的 Netty 套接字 io 库启动套接字 io 服务器。这应该由客户端使用自定义 URL.
连接正常的握手 URL 应该是这样的:- http://192.168.1.190:8021/socket.io/?EIO=3&transport=polling&t=15669875
但是我需要像下面这样自定义它,我应该怎么做。 http://192.168.1.190:8021/myapp/socket.io/?EIO=3&transport=polling&t=15669875
套接字服务器代码
public void start() {
Configuration config = new Configuration();
config.setHostname(hostIP);
config.setPort(hostPort);
socketServer = new SocketIOServer(config);
// For collecting Socket client ID
socketServer.addEventListener("Topic", SocketNotificationData.class,
new DataListener<SocketNotificationData>() {
@Override
public void onData(final SocketIOClient client, SocketNotificationData data, final AckRequest ackRequest) throws Exception {
logger.info(" ----------One socket-- client id - "
+ client.getSessionId().toString());
}
});
socketServer.start();
}
后来我找到了答案
Configuration config = new Configuration();
config.setHostname(hostIP);
config.setPort(hostPort);
config.setContext("/myapp");