IOS4 - 在 Wifi 上使用 UDP 套接字发送数据
Posted
技术标签:
【中文标题】IOS4 - 在 Wifi 上使用 UDP 套接字发送数据【英文标题】:IOS4 - Send data using UDP socket on Wifi 【发布时间】:2011-05-19 13:16:36 【问题描述】:我正在尝试使用 AsyncUDPSocket 类发送数据。我可以使用 iPhone 模拟器通过网络将数据发送到另一台运行简单 C 编码监听服务器的机器。我还可以使用连接到模拟器(服务器)的客户端通过网络接收数据。但是,当我通过 Wifi 尝试使用模拟器时,我只能发送数据而不能接收任何数据。
我在另一篇文章中读到,单播数据使这成为可能。如何使用 AsyncUDPSocket 实现这一点?
谢谢, 安杰洛。
【问题讨论】:
【参考方案1】:好的,我想通了。真的是新手。
当我将我的 Mac 网络首选项设置为以太网时,我获得了一个用于通信的 IP。然而,当我打开 Airport(Wi-Fi for more newbies)并断开以太网电缆时,我检查了我的网络首选项,果然我的 IP 地址是不同的。
与一位朋友(网络领域的王牌)交谈后,事情立即得到了回应:在 WiFi 网络上,DHCP 服务器分配了一个 IP 地址。该 IP 地址必须至少在 DHCP 服务器上保留。由于我的IP没有保留,我只好更改IP地址,在我的udp_client.c文件中,重新编译并运行客户端进行连接。
顺便说一句,我现在可以使用本地 WiFi(办公室)网络在我的 iPhone 和我的电脑之间进行通信。
对于任何可能面临同样问题的人,当您从 LAN 切换到 Wifi 时,不要确保您的机器的 IP 地址是相同的,并且主要使用该设备进行 WiFi 相关的测试。 :)
【讨论】:
以上是关于IOS4 - 在 Wifi 上使用 UDP 套接字发送数据的主要内容,如果未能解决你的问题,请参考以下文章
在 UDP 套接字上使用 sendto()/recvfrom() 而不是 connect()/send()/recv() 的目的是啥?