我目前在 android 和 ios 应用程序之间开发基于套接字的系统。iOS 充当服务器(使用 Bourjour 发布服务)。Android 应用程序充当客户端,扫描服务器,在列表视图中显示服务器列表并按照用户意愿连接到服务器。两者都在模拟器上运行(最终是真实设备)。我的系统有一个特定的端口,例如 49300。问题是,要扫描的本地 IP 地址太多(192.168.xx),它会是 255 * 255。我开发了一个队列任务来执行该作业。这是一个流程:
scan for subnet with for-loop x = 0 -> 255
scanner >= (QUEUE = 5)
wait();
new thread scan for 192.168.x.y with for-loop y = 0 -> 255
scanner++
扫描线程:
scan for 192.168.x.y with for-loop y = 0 -> 255
if 192.168.x.y reachable then
add to list
end for
scanner--;
notify();
但似乎应用程序要做的工作太多,android模拟器刚刚关闭,任何帮助将不胜感激。