Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不带Bonjour的iOS设备发现_Ios_Security_Wifi_Discovery - Fatal编程技术网

不带Bonjour的iOS设备发现

不带Bonjour的iOS设备发现,ios,security,wifi,discovery,Ios,Security,Wifi,Discovery,我正在创建一个应用程序,它需要连接到wifi网络上其他设备上运行的自身版本。目标是在一个设备与其他设备之间建立广播/客户端关系 我知道Bonjour是公认的方法,但我不愿这样做,因为它将我锁定在iOS设备中,而我想扩展到其他设备,至少是客户端 如果我在特定端口(如43231或其他)的广播机上启动Web服务器,客户端设备是否可以获得自己的IP,然后扫描广播机的块范围?用这样的请求ping网络上所有其他随机设备有什么不好吗 如中所示,广播电台为192.168.1.11。客户端是192.168.1.4

我正在创建一个应用程序,它需要连接到wifi网络上其他设备上运行的自身版本。目标是在一个设备与其他设备之间建立广播/客户端关系

我知道Bonjour是公认的方法,但我不愿这样做,因为它将我锁定在iOS设备中,而我想扩展到其他设备,至少是客户端

如果我在特定端口(如43231或其他)的广播机上启动Web服务器,客户端设备是否可以获得自己的IP,然后扫描广播机的块范围?用这样的请求ping网络上所有其他随机设备有什么不好吗

如中所示,广播电台为192.168.1.11。客户端是192.168.1.4。如果客户机假设所有设备都在192.168.1.*块中,那么它是否可以从1-100左右的行中迭代查找广播机


如果这种方法很疯狂,我该怎么办?

也许使用蓝牙低能量进行广播/发现会更好?您可以在服务器上发送不可连接的广告包(带有IP地址),并在所有其他设备上侦听它们。设备找到这样的数据包,读取IP地址并通过NSURLConnection(或类似的东西)连接到它。

你可以使用(被使用)或只是在网络上监听一条消息,同时忽略环回(如果你不想让发送者接收自己的消息)。

这个范围是多少?理论上最多50米,但根据我的经验,你可以期望在15-20米的距离内取得好成绩。因为我在事件开始前一直让广播机处于被动状态,所以我实际上可以从客户端进行多播以“注册”它们。是的,我正在将这种方法用于一个类似于苹果AirDrop的应用程序,它工作得非常好。。