我有一个通过套接字发送的二维数组 实现客户端,使其具有2个线程,一个用于呈现swing gui,另一个用于从服务器接收数据。
实现服务器,使其具有2个线程,一个用于侦听传入请求,然后将请求发送到另一个线程以处理请求(与客户端通信)
一旦客户端与swing gui交互,数据将被构造并发送到服务器(实际上,发送到负责处理特定客户端的线程),然后服务器处理数据并发送回客户端使用具有更新信息的二维数组中的新数据。客户端可以使用该数组来呈现视图。
但是,当客户端第一次发送数据时,一切正常。但下一次,客户端发送新数据,但它仍然收到旧数据(服务器数据仍在更新)
我不知道问题是关于套接字本身还是线程。
答案 0 :(得分:2)
如果您使用的是序列化,请参阅ObjectOutputStream.reset()的Javadoc和ObjectOutputStream.writeUnshared()。