我正在编写一个使用DatagramSockets
通过互联网传输数据的应用程序。
如果我尝试使用localhost
或127.0.0.1
,那么它可以在互联网上运行。
在搜索问题后,我发现您必须将此地址0.0.0.0
分配给它,以使其在互联网上运行。所以我的服务器的DatagramSocket目前以下列方式打开:
socket = new DatagramSocket(4713,InetAddress.getByName("0.0.0.0"));
我的客户端目前以与另一个端口相同的方式打开。但我无法接收数据。
我也想过我可能需要打开路由器上的端口,但它没有帮助。
另外,我遇到的另一个问题是,如果我真的需要用我的客户端的构造函数中给出的端口打开DatagramSocket
,我怎么能找到任何免费的udp端口,因为我不想一直使用同样的东西。
有人可以帮我解决这两个问题吗?
我需要做些什么才能让UDP DatagramSockets在互联网上运行?
如果需要,我将如何为我的UDP客户端获取随机可用端口?