【问题标题】:Receive udp broadcast packets iosios接收udp广播包
【发布时间】:2012-03-12 20:36:41
【问题描述】:

我的 REST 服务几乎已经完成了 iOS 客户端。我唯一缺少的是客户端能够在网络上侦听接收主机显示名称和用于上传的基本 URL 的 UDP 广播。网络上可能有多个服务器正在广播并等待上传。

首选异步。服务器将在设备发现它们时向用户显示,我希望用户能够在任何时间点选择服务器。

广播公司正在向 255.255.255.255 发送数据,预计不会返回任何数据。

我是 Objective c 的初学者,所以最好是简单易用的。

【问题讨论】:

    标签: objective-c ios networking ios5 udp


    【解决方案1】:

    我建议查看CocoaAsyncSocket。它可以很好地处理 UDP 套接字。我没试过用它收听广播,但这可能是你最好的选择。

    【讨论】:

    • 当我尝试创建 GCDAsyncSocket 的新实例时,它告诉我:架构 i386 的未定义符号:“_OBJC_CLASS_$_GCDAsyncUdpSocket”,引用自:ImageShareViewController.old 中的 objc-class-ref:未找到架构 i386 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)我不确定这意味着什么,除了它不想在 iPhone 模拟器上运行,因为它不喜欢这种架构。有什么想法吗?
    • 这意味着您没有链接 GCDAsyncUdpSocket 代码。这可能是因为您正在链接一个仅包含 iOS 对象的静态库,或者您可能根本没有链接该库,或者您可能没有将源代码编译为该目标的一部分。
    • 为了让它工作,我必须禁用 ARC。这样做是否有我应该注意的重大风险?
    • ARC 可以根据每个文件安全地打开和关闭。如果 GCDAsync 代码不符合 ARC,那么您可以为这些文件关闭 ARC。
    • 我已经让它工作了,不需要做任何特别的事情来接收 UDP 广播。谢谢
    猜你喜欢
    • 2015-03-14
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 2011-12-07
    • 1970-01-01
    相关资源
    最近更新 更多