我已经看过一些关于SO的答案,但无济于事。如何检查端口是否已打开,如果已打开则关闭它,然后从Java代码打开该端口上的套接字?
详细信息:我想打开端口号5000并将其绑定到udp套接字。但是,每次我在该端口上打开套接字时,都会收到“已在使用的地址”的异常。如何确保端口首先可用?在终止应用程序时,Overridind onDestroy()关闭套接字似乎不会这样做。
答案 0 :(得分:4)
我已经看过一些关于SO的答案,但无济于事。
很难相信。
如何检查端口是否已打开
尝试绑定到它,如下所示。如果你得到一个BindException,它就在使用中。
如果已经打开则关闭它
你不能。
然后从Java代码打开该端口上的套接字?
DatagramSocket ds = new DatagramSocket(port);