【问题标题】:Objective-C/C websocket client with full specification support具有完整规范支持的 Objective-C/C websocket 客户端
【发布时间】:2011-04-10 23:50:09
【问题描述】:

是的,我知道How to incorporate WebSockets into a Cocoa application,但这个问题已经有将近一年的历史了,很明显,所选答案 (zimt) 不再是可接受的解决方案。

是否有任何 WebSocket 客户端可以在我的 iOS 应用程序中使用?它可以是 C 或 Objective-C,但必须完全支持 WebSocket(Zimt 不处理 Sec-WebSocket-Key1 和 Sec-WebSocket-Key2)。

【问题讨论】:

    标签: iphone objective-c cocoa-touch websocket


    【解决方案1】:

    您可以查看UnitT Web Socket Client。它旨在用于使用 Objective-C 的 iOS 应用程序。但是,Sec-WebSocket-Key1 和 Sec-WebSocket-Key2 是 Web 套接字早期版本的一部分。从版本 6 开始,客户端现在需要支持 Sec-WebSocket-Accept。不幸的是,并不是所有的服务器都使用这个。 UnitT Web Socket Client 允许您以编程方式打开或关闭此检查。此外,它适用于 ws 和 wss。

    我是作者,并已在我的一些项目中成功使用它。如果您遇到任何麻烦,请告诉我,我会尽我所能提供帮助。

    【讨论】:

    • 非常酷的乔希!不过,我可能必须对其进行修补,以便它现在可以与 Sec-WebSocket-Key* 一起使用,因为它需要保持与服务器的兼容性。如果我真的完成了那项任务,我会回复你的。
    • 谢谢你,这真的做得很好。查看源代码时,缺少:GCDAsyncSocket.h!
    【解决方案2】:

    查看SocketRocket。它支持 Unitt 不支持的最新标准RFC 6455。也没有 CocoaAsyncSocket 依赖项。

    【讨论】:

      【解决方案3】:

      我创建了一个 Obj-C 包来处理 TLS,同时考虑到最新的 (iOS 13) TLS 对证书的限制。

      https://github.com/eamonwhiter73/IOSObjCWebSockets

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-09
        • 2012-03-20
        • 1970-01-01
        • 2021-11-02
        • 2011-08-17
        • 2021-05-09
        相关资源
        最近更新 更多