socket.connect(new InetSocketAddress("175.159.80.156",SERVERPORT),800);
这个缓存时间一定要注意,留得太小,比如20,装到手机上的客户端根本没法和服务器通信。
留得太大,比如2000或20000,那会有拖拖拉拉的残留,以至于该次server的循环完了,client = serverSocket.accept();取值的时候居然能取到值。取到的就是上一次操作拖沓下的连接请求。
不是上面的原因,改了没用。真正的罪魁祸首是
public void sendObjectMessage(BubbleMessage message2) {
if (oos != null ) {
try {
oos.writeObject(message2);
oos.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
多了个oos的判断,尼玛等于null直接就不发了啊,server自然收不到了啊,尼玛!
public void sendObjectMessage(BubbleMessage message2) {
while(oos == null ) {};
try {
oos.writeObject(message2);
oos.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}