java - 在android中根据端口(网络发现)在本地网络上查找机器

标签 java android network-programming

我希望让我的 android 应用程序扫描本地网络 192.168.1.1-254 上的每台 PC,寻找打开了某个给定端口的机器。我知道有几种手动方法可以执行此操作,但这将是大量代码,并且每次需要搜索时都会花费一些时间。有没有一种快速指定端口并在打开端口的情况下搜索本地设备的方法?

例。桌面在端口 8888 上有 Web 服务器,您知道端口但不知道 IP,将端口提供给应用程序并让它快速显示 IP。

最佳答案

我假设您知道如何连接到 TCP 服务器。 如果没有,先通过

http://examples.javacodegeeks.com/android/core/socket-core/android-socket-example/

您可以尝试打开多个线程,每个线程等待连接到特定的 ip/端口(以及一些超时值)。如果线程产生异常,则意味着连接不成功。否则将该 IP 地址添加到您的 Open_Devices 列表中。

关于java - 在android中根据端口(网络发现)在本地网络上查找机器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17120467/

相关文章:

delphi - IPv6 地址的算术(大整数)

java - 列表数组错误?

java - 使用正则表达式解析内容页面?

java - Android:runOnUiThread 混合输出

java - 使用 Libgdx 确定纹理大小

android - 如何获取(或制作)对 Android EditText 的 InputConnection 的引用

android - 用后端检索的领域存储数据,与解析 LocalStorage 相同

c - 通过网络发送的 MAC 地址格式

java - 强制事务回滚而不遇到异常?

java - 将自定义对象从嵌入式 FX (JFXPanel) 拖放到 Swing