Java Can';无法接收UDP数据报

Java Can';无法接收UDP数据报,java,multithreading,sockets,udp,distributed,Java,Multithreading,Sockets,Udp,Distributed,我必须开发一个分布式系统,通过TCP套接字与来自IP地址的人进行聊天会话,连接到一个服务器,该服务器列出过去3分钟连接到它的所有IP。除此之外,应用程序还必须向每个ip发出请求,以获取其名称和当前状态(活动、忙碌或已停止)。在通过UDP套接字发送该请求之后,在另一端,他们必须也通过UDP发送该请求的回复 编辑-基本上,应用程序必须联系存储最近几分钟连接到服务器的IP的服务器。然后,它必须检索该ip地址并与每个地址联系以获取其名称和状态 不幸的是,我只收到了对我请求的答复,而其他同事收到了我的请求

我必须开发一个分布式系统,通过TCP套接字与来自IP地址的人进行聊天会话,连接到一个服务器,该服务器列出过去3分钟连接到它的所有IP。除此之外,应用程序还必须向每个ip发出请求,以获取其名称和当前状态(活动、忙碌或已停止)。在通过UDP套接字发送该请求之后,在另一端,他们必须也通过UDP发送该请求的回复

编辑-基本上,应用程序必须联系存储最近几分钟连接到服务器的IP的服务器。然后,它必须检索该ip地址并与每个地址联系以获取其名称和状态

不幸的是,我只收到了对我请求的答复,而其他同事收到了我的请求


如何解决这种情况?

您没有给我们提供太多信息,但我的第一个想法是防火墙或路由问题。什么是网络拓扑?服务器和正常工作的客户端是否在防火墙或NAT路由器的同一侧,而其他不工作的客户端是否在另一侧?来自非工作客户端的UDP回复是否已发送到网络上?它们是否到达您的服务器,但服务器软件未正确接收?(最后几个问题可以通过使用一个工具来回答,例如查看离开客户端并到达服务器的网络流量。)

在大学里,由于他们有一个具有限制移植规则的代理服务器,因此很难进行通信。在家里,我有一个无线路由器,但我也有一个带usb调制解调器的便携式互联网。@tiago:那么服务器是在大学网络上,还是在家里?工作客户端和非工作客户端的情况如何?“状态”服务器托管在大学中,但可以从任何网络访问。应用程序必须连接到该服务器,从该服务器接收IP,并列出列表以便以后与其他人交谈。@tiago:这很有帮助!编辑你的问题以包含这些信息可能是个好主意——其他人可能不会在评论中注意到。听起来问题不在于客户端“状态服务器”通信,而在于客户端从服务器获取IP地址列表后,客户端之间的UDP通信?当您说您成功地“收到对我的请求的答复”时,这是clientserver还是clientclient通信?它的客户端。我的客户向7个ip地址发送请求,请求他们提供信息,然后这7个地址必须回复他们的姓名和状态