scoket协议心跳 重连机智 无法重连
public void start() {
try{
Globals.host = host;
Globals.port = port;
Globals.httpport=httpport;
//synchronized (syncFlag) {
socket = new Socket(host, PORT);
input = new BufferedInputStream(socket.getInputStream());
output = new BufferedOutputStream(socket.getOutputStream());
createHeardBeat();
monitorServerData();
//}
logger.info("客户端连接成功");
}catch(Exception e){
logger.error("客户端连接产生异常------->");
closeresetSocket();
}
}
服务端
@Override
public void run() {
try {
ServerSocket serverSocket = new ServerSocket(PORT);
while (true) {
// 堵塞了连接
if(client ==null){
client = serverSocket.accept();
client.setOOBInline(true);
/*new Thread(new ClientSender(client)).start(); */
//client.setSoTimeout(3000);
output = new BufferedOutputStream(client.getOutputStream());
input = new BufferedInputStream(client.getInputStream());
monitorClient();
logger.debug("客户端:"+client.getInetAddress().getHostAddress());
// 处理这次连接
// new HandlerThread(server);
//调用
/* synchronized(obj){
new HandlerThread(client);
}*/
}
Thread.sleep(1000);
}
} catch (Exception e) {
logger.error("服务器异常: " + e.getMessage());
}
}
}).start();