在本地部署用localhost,线上部署不能有Hostname,否则连接会一直失败
package com.ydkj.netty.server;
import com.corundumstudio.socketio.Configuration;
import com.corundumstudio.socketio.SocketIOClient;
import com.corundumstudio.socketio.SocketIOServer;
import com.corundumstudio.socketio.listener.ConnectListener;
import com.ydkj.netty.config.EventListennter;
import com.ydkj.netty.domain.SocketIOMessage;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.UnsupportedEncodingException;
@Service
public class SocketService implements InitializingBean {
@Autowired
private EventListennter listeners;
public void startServer() {
Configuration config = new Configuration();
// config.setHostname("localhost");
config.setPort(9900);
SocketIOServer server = new SocketIOServer(config);
server.addConnectListener(new ConnectListener() {// 添加客户端连接监听器
@Override
public void onConnect(SocketIOClient client) {
System.err.println(client.getRemoteAddress() + " web客户端接入");
String s = client.getSessionId().toString();
System.err.println("会话id-->>>"+s);
server.addListeners(listeners);
server.start();
}
@Override
public void afterPropertiesSet() throws Exception {
System.err.println("---------------socketIO开始执行了--------------");
this.startServer();
}
}