我花了一整天时间在我的 Mac 和 iPhone 之间创建一个系统,我使用cocoaasyncsocket在我的 Mac上创建了一个监听服务器,在我的 iPhone 上创建了一个客户端。基本思想是在计算机打开时让 Mac 上的应用程序运行,然后当我希望从 iPhone 应用程序传输数据时,启动应用程序并连接并发送数据......我让这个系统正常工作我希望它如何运行但是我有 1 个问题,我总共尝试解决了大约 4 个小时!
我想创建一些东西,在监听器运行的情况下扫描我的无线网络以查找我的 mac……我认为这很简单,但我错了。我一直在寻找高低,但没有运气,我使用stackoverflow作为我的最后手段。
我目前的计划是通过检索 iPhone 的内部 IP(即 192.168.1.94)来“自动扫描”,然后使用它来确定网络上的其他 IP 将是什么(192.168.1.0-254),现在我知道什么 IP扫描我可以遍历每一个并检查端口是否打开/我得到响应。
现在我想尽快做到这一点,但是我无法得到任何东西来给我准确的结果......
在 cocoaasyncsocket 中使用connectToAddress:error:
只会为 255 个不同的 IP 地址中的每一个返回 true,所以我遇到的任何其他可访问性函数也会如此......我读过这是因为他们只检查连接是否建立并且不在乎另一端发生了什么,所以我需要考虑其他事情。
我能想到的唯一其他解决方案是,可能对每个内部 IP 进行 ping 操作,看看我是否得到响应,但我不确定这是否会占用太多时间,不得不通过 255 个 IP 地址......然后,一旦我得到了活跃的IP,我仍然必须检查端口是否以某种方式打开:/
如果这里有人知道如何完成或有更好的想法如何检查开放端口(我对网络不是很好),我将非常感激。
谢谢阅读,
利亚姆