Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.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
如何通过wifi在两部iPhone或Mac电脑之间轻松发送数据?_Iphone_Objective C_Ios_Macos_Networking - Fatal编程技术网

如何通过wifi在两部iPhone或Mac电脑之间轻松发送数据?

如何通过wifi在两部iPhone或Mac电脑之间轻松发送数据?,iphone,objective-c,ios,macos,networking,Iphone,Objective C,Ios,Macos,Networking,我已经试了好几天来试图解决这个问题。今天又是一个充满尝试的日子,我最近的尝试以失败告终。与其关上它上床去想“又一天没能做这件事了”,我想我应该在这里继续问。我现在束手无策。CocoaAsyncSocket我无法工作,我也找不到任何教程或其他“解决方案”。这就是我想做的: 用户从wifi网络上的列表中选择要连接的计算机或iphone,该网络也运行应用程序。它们连接,按下另一个按钮,数据从第一个设备发送到第二个设备。第二台设备也可以将东西发回。这是一个对等网络 艾米:任何人能给我的帮助都是很感激的。

我已经试了好几天来试图解决这个问题。今天又是一个充满尝试的日子,我最近的尝试以失败告终。与其关上它上床去想“又一天没能做这件事了”,我想我应该在这里继续问。我现在束手无策。CocoaAsyncSocket我无法工作,我也找不到任何教程或其他“解决方案”。这就是我想做的:

用户从wifi网络上的列表中选择要连接的计算机或iphone,该网络也运行应用程序。它们连接,按下另一个按钮,数据从第一个设备发送到第二个设备。第二台设备也可以将东西发回。这是一个对等网络


艾米:任何人能给我的帮助都是很感激的。我真的需要一个简单的方法来做到这一点,因为它的使用量与实现所需的时间相比已经不值得了。但我不想放弃这样的事情,因为我在很多场合都看到了终点线,但却没能越过无数的障碍。

你的问题有三个部分:

  • 如何检测WiFi连接(iPhone)
  • 如何宣传/发现主机/服务
  • 如何在主机之间传输数据
  • 在底层,您可以使用TCP/IP连接传输数据(您在主机a的某个端口上侦听,并从主机B连接到该主机)。但是,主机B需要了解主机A在同一个本地网络上的事实-这通常是通过主机A在本地网络上发送广播消息(比如通过UDP)来完成的,这些消息可以识别主机A,以便主机B可以确定主机A的IP地址,从而可以连接到主机A。最后,在非Mac设备上,您可能只想在检测到设备位于WiFi网络上时启动所有这些,因为否则它将无法工作


    实现上述所有功能(数据传输除外)并非易事,但幸运的是,苹果为此提供了多种工具:
    SCNetworkReachability
    提供了一个API,当设备加入Wifi网络时(仅限iOS,Mac OS X上不需要)会通知您。然后可以使用Bonjour实现服务广告和发现:您可以在一台主机上使用
    NSNetService
    注册自己的服务,另一台主机可以调用
    NSNetServiceBrowser
    浏览本地网络以查找可用的对等方。最后,一旦发现了所需的服务,就可以使用流来传输数据。看一看苹果的文档——这里有所有提到的设备的示例代码。我不会说它很简单,但那是因为从技术上讲,你想要的不是很简单;)

    您正在发送什么类型的数据?文本/二进制?你看了吗:mac上没有Gamekit。可能会重复同一OP提出的另一个问题。实际上,OP在2天内提出了第三个主题相同的问题。