有没有办法检查端口是否以编程方式在Android上打开?

时间:2014-04-12 11:24:27

标签: java android networking udp

我已经看过一些关于SO的答案,但无济于事。如何检查端口是否已打开,如果已打开则关闭它,然后从Java代码打开该端口上的套接字?

详细信息:我想打开端口号5000并将其绑定到udp套接字。但是,每次我在该端口上打开套接字时,都会收到“已在使用的地址”的异常。如何确保端口首先可用?在终止应用程序时,Overridind onDestroy()关闭套接字似乎不会这样做。

1 个答案:

答案 0 :(得分:4)

  

我已经看过一些关于SO的答案,但无济于事。

很难相信。

  

如何检查端口是否已打开

尝试绑定到它,如下所示。如果你得到一个BindException,它就在使用中。

  

如果已经打开则关闭它

你不能。

  

然后从Java代码打开该端口上的套接字?

DatagramSocket ds = new DatagramSocket(port);