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

时间:2015-12-27 00:59:36

标签: java sockets

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

    socket = new DatagramSocket(4446);

我想在创建DatagramSocket对象之前检查它。所以,如果它不可用,我可以增加它并再次检查,直到它变得可用,然后我创建Socket?

1 个答案:

答案 0 :(得分:2)

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

相关问题