今天写局域网聊天程序时遇到一个问题,就是 A给B发送消息1,然后发送消息2,B只能接受到2个消息1。截图是这样的:
在发送了 一个消息 你好 和一个消息 我是xxx 之后,另一端只能收到两次你好
解决办法就是在 ObjectOutputStream的对象发送之前调用 reset()方法,然后 flush;
代码如下:
package com.net;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.InetAddress;
import java.net.Socket;
import javax.swing.JTextArea;
import com.protocol.netData;
import com.protocol.netData.TYPE;
public class chatSocketwithPro extends Thread{//自带协议的传输
Socket chatSocket;
ObjectOutputStream oos ;
ObjectInputStream ois ;
JTextArea showText;
StringBuilder sb ;
private netData recvdata,senddata;