gpt4 book ai didi

java - udp 客户端无法从另一个应用程序访问

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:20:26 28 4
gpt4 key购买 nike

我正在尝试使用 UDP 在 Java 中实现客户端服务器应用程序。问题是当客户端连接到服务器时,服务器注册客户端,另一个应用程序尝试使用 clientIP 和 clientPort 连接到客户端;客户端无法获取任何数据。

我能够重新创建 DatagramSocket 以使用他的 IP 和端口连接到客户端,但是当这由不同的应用程序完成时,无法实现通信。

我想提一下我在服务器上监听客户端的端口与服务器应用程序正在使用的端口不同。

我们怎样才能实现这种沟通?

请帮帮我。谢谢。

最佳答案

您的评论“当客户端连接到服务器时……”让我想知道您是否在客户端的 DatagramSocket 上使用了 connect()。如果是这样,请不要在套接字上调用 connect() 。 UDP 是无连接协议(protocol),不需要 connect()。通过在 UDP 套接字上调用 connect(),套接字只能向/从 connect() 指定的主机发送/接收数据。

如果不是这种情况,那么我能想到的唯一原因是您的客户端计算机可能启用了某些防火墙,或者在您的客户端和服务器或其他主机之间存在 NAT/防火墙。使用 Wireshark 检查您的客户端是否从其他应用程序接收任何数据包。

希望这对您有所帮助。

关于java - udp 客户端无法从另一个应用程序访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/851266/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com