java - 创建 DatagramSocket 之前检查端口的可用性

标签 java sockets

这个问题是关于数据报套接字而不是 TCP 套接字,所以请先查看它,然后再考虑它的重复是否有办法在创建新的 DatagramSocket 之前检查端口。当端口被另一个实例使用时,下面的代码会抛出 SocketException

    socket = new DatagramSocket(4446);

我想在创建 DatagramSocket 对象之前对其进行检查。这样,如果它不可用,我可以增加它并再次检查,直到它可用,然后我创建套接字?

最佳答案

没有。不要认为您可以检查所有可能导致某件事失败的情况,然后就可以保证它会成功。首先,您永远无法可靠地涵盖所有可能失败的方式。其次,在测试之后和操作之前情况可能会发生变化。相反,尝试去做,如果失败了,就处理失败。如果套接字构造抛出异常,则尝试不同的端口。

关于java - 创建 DatagramSocket 之前检查端口的可用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34476710/

相关文章:

c - 设置多个UDP套接字

java - 批量 API 错误 : Upsert on Standard Salesforce Object

java - 需要具有 FBO 扩展的 OpenGL 2.0 或更高版本 - LibGDX 错误

java - Action 标签在 Struts 2 中不执行

flash - 使用 as3 通过 flash 加载和播放 mjpeg - 套接字错误

c++ - Boost Socket/Acceptor 无法在同一端口上监听/连接?

Java 十六进制数和条件

java - 获取LinkedList中的所有元素,异常

perl 套接字 : increment port if in use

c++ - 为什么关闭 udp 套接字 block ?