【问题标题】:Does this networking library work on iOS?这个网络库可以在 iOS 上运行吗?
【发布时间】:2012-05-14 15:25:34
【问题描述】:

我想将此库用于跨平台网络。

http://lacewing-project.org/

它适用于 OSX、Linux、Windows 并具有适用于 Android 的特定代码。我不知道它是否可以在 iOS 上运行(作为客户端)。 (意味着我不会在 iOS 上托管服务器)

由于它在内部使用 POSIX 套接字,这是否使其与 iOS 兼容?

谢谢

【问题讨论】:

    标签: c++ ios c networking liblacewing


    【解决方案1】:

    如果不尝试,我猜它会起作用。你需要用 Objective-C 编写你的 UI,但你应该能够使用 Objective-C++ 将你的库绑定到 UI。在开始使用 Objective-C++ 路径之前,请注意限制(请参阅:How well is Objective-C++ supported?)。

    【讨论】:

    • 我已经在使用一个用于我的游戏图形和所有内容的 C 库。我不会在 Obj-C 中制作 UI 代码。 C 图形库 Allegro 5 为我完成了这一切。我只需要能够让客户端与服务器对话。
    • 很高兴听到。我只是假设你会使用 Cocoa 作为 UI,因为这是大多数人所做的。你应该准备好了。
    【解决方案2】:

    我会先尝试使用来自 gowalla 的创建者的 Objective-c 库 AFNetworking

    你可以在这里得到它: https://github.com/AFNetworking/AFNetworking

    关于lacewing 的主题,它应该可以正常工作,只要它依赖于 BSD 套接字 API,因为我可以确认它存在于 iOS 上。

    【讨论】:

    • 不幸的是,我也需要 Windows 和 Linux 支持。
    • @Milo 啊。好吧,在这种情况下使用它可能会更好,因为我确信 POSIX 套接字可以在 iOS 上运行(我在游戏开发中广泛使用它们)。
    • 我应该注意到,虽然我认为它使用 OpenSSL 进行加密,但这应该不是问题。
    • @Milo OpenSSL 也可用,Nuance Dragon Dictation API 使用它。
    • 我在一个论坛上有人告诉我 Berkley 插座在 iOS 上工作得不太好......关于天线的一些东西......
    【解决方案3】:

    如果它只用 C/C++ 编写,那么不会,除非您有适用于 iOS 的 C/C++ SDK(AFAIK 不公开存在)。 iOS SDK 适用于 Objective-C。

    【讨论】:

    • 我认为你的意思是 C++ 没有 Cocoa 绑定。有一个适用于 iOS 的 C++ SDK。它是 Xcode 的一部分。
    • Objective-C 是 C 的严格超集。因此,任何纯 C 库都应该可以工作。此外,编译器支持 Objective-C++,允许您混合使用 Objective-C 和 C++
    • @Dirk 因此,如果该库可以在没有任何 OSX 特定代码的情况下在 Linux 和 OSX 上运行,它应该在 iOS 上运行吗?该库是纯 C,但具有 C++ 的绑定。
    • @JefferyThomas C++ 不是 Xcode 的一部分,它是 GCC 的一部分,它是 LLVM 的基础,是 Xcode 使用的默认编译器。
    • @Milo:不一定。系统调用可能不可用等。但语言不是这里的障碍。这就是我想说的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-24
    • 1970-01-01
    • 2015-12-01
    • 1970-01-01
    • 2016-03-07
    • 1970-01-01
    • 2014-12-17
    相关资源
    最近更新 更多