写了一个Socket服务端的程序,用NetAssist作客户端测试,发现这样一个问题,客户端做每一秒的定时发送,服务端收到消息后,马上返回一条信息,这时问题出现了,第一次接受的消息正常,然后回复消息 ,第二次接受到的居然是自己刚才回复的内容,到第三次接受又正常了,后面基本就没出现此问题了,
while(MyServer.startListen){
byte[] buffer = new byte[5345];
int len = socketClient.getInputStream().read(buffer);

if((char)buffer[0] == '6')
System.out.println("error");
else
System.out.println("bbb:"+new String(buffer, 0, len));
xixi resp = new xixi();
String str = new String();
socketClient.getOutputStream().write("68fsdfdsfdsfdsfdsfdsfdsfdsfdsf".getBytes());
// if(1==1) continue;
ByteArrayOutputStream out = new ByteArrayOutputStream();

out.write(buffer, 0, len);


command = command.read(out.toByteArray());
if(command != null){
if(command.isOtherData()){
new MessageResp(0).write(socketClient.getOutputStream());
String recv = new String(command.getBodybytes());
System.out.println("接收到消息:" + recv);
// System.out.println(out.toString());

}else{
switch(command.getAfn()){
case MessageCommand.AFN_RESPONSE : 
System.out.println("receiver RESPONSE msg!" );
break;
case MessageCommand.AFN_LOGIN : 
System.out.println("receiver LOGIN msg!" );
break;
case MessageCommand.AFN_HEARTBEAT : 
System.out.println("receiver HEARTBEAT msg!" );
break;
case MessageCommand.AFN_SETCYCLE :
break;
case MessageCommand.AFN_REDIRECT :
break;
}
}
}
// }