套接字编程 - Java - 没有收到一些消息

时间:2017-02-20 18:58:37

标签: java network-programming serversocket

我刚刚在同一个Node中开始使用客户端和服务器线程的套接字。下面是我的代码结构 -

我有一个Node类,可以连接到不同的节点。它将REQUEST消息发送到节点并等待,直到它从使用outstandingreplies变量跟踪的所有节点获得REPLY,该变量是静态和易失性的,同时具有同步的getter和setter。

服务器类产生处理器线程,该线程处理它听到的每条消息。 它修改了某些可以进一步促进代码执行的变量。在获取REPLY消息时,它会减少outstandingreplies变量。它还会向基于某些条件发送消息的节点发送消息。

以下是我的代码,我删除了某些细节。

节点类

{  }

我在两台机器上运行此代码。成功建立连接并交换一些消息。但是,在某些情况下,即使套接字仍然连接,Processor类也不会收到消息。

我确实对Java套接字丢失消息提出了一些问题,其中提到当节点一次获得两条消息时,它只处理第一条消息而第二条消息被缓冲。我不知道如何检查我的代码是否属于这种情况。

我猜测我处理套接字有问题。如果有人能指出我做错事的地方,真的会有所帮助。

TIA

0 个答案:

没有答案