java - 有没有办法以编程方式检查android上的端口是否打开?

标签 java android networking udp

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

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

最佳答案

I have already looked at some of the answers on SO but to no avail.

难以置信。

How can I check if a port is open already

尝试如下所示绑定(bind)到它。如果您收到 BindException,则它正在使用中。

close it if open already

你不能。

and then open a socket on that port from Java code?

DatagramSocket ds = new DatagramSocket(port);

关于java - 有没有办法以编程方式检查android上的端口是否打开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23029725/

相关文章:

java - 类上定义的按钮上的 Android Studio NullPointerException

java - 如何使用 MuPDF 打开受密码保护的 PDF

android - 使用 BroadcastReceiver 启动 AsyncTask

azure - 无法访问 AKS 入口的公共(public) IP

c++ - Winsock - 从套接字读取、写入、发送和接收的最佳方式

java - 生成额外类的 WSDL 到 Java 代码方法

java - 如何调试返回带有值但没有内容的字符串的 Java 字符串拆分?

java - 即使 'else' 为 true,为什么只有 'if' 部分被执行?

c - udp 套接字中接收缓冲区/队列的最大大小

java - 局部变量还没有初始化?