iPhone Objective-C使用Socket.IO进行套接字通信

9

我正在开发一种大型多人棋盘游戏。我的解决方案是在服务器上使用node.js socket.io。我需要一个实现目标-C socket的解决方案,该socket将与socket.io通信,以发送和接收作为字符串的JSON对象。我不想使用带有websocket的webkit。是否有任何可能性?服务器将保存游戏状态,iPhone客户端将向服务器发送操作并接收来自服务器的更改。


这个问题不适合讨论;仅寻求库或其他站外资源推荐的问题在Stack Overflow上是不适合讨论的。如果您仍然遇到此问题,请开始编写代码,并在您有更具体的问题时回来。请确保向我们展示您尝试过什么,并包含一个最小完整可验证示例 - Scott Weldon
4个回答

10

嗨,pkyech。我正在使用您的库,并且它在我的iOS7应用程序中完美运行。现在我想通过NSObject连接一次并从每个视图控制器管理事件,以避免过多的连接/断开连接。您有任何关于此的教程吗? - Maziyar
抱歉,但是没有这方面的教程。 - Philipp Kyeck
我正在Xcode 7和iOS 9中添加链接库。但是在连接后,它只给我一个“错误代码400”的响应。然而,如果我用Swift做,那么它就可以正确连接。这个Objective-C库已经过时了吗?@pkyeck - Bhupesh Kumar

6

或者看看cocoaasyncsocket

CocoaAsyncSocket 支持 TCP 和 UDP。AsyncSocket 类是用于 TCP 的, 而 AsyncUdpSocket 类是用于 UDP 的。下面介绍了每个类。

AsyncSocket 是一个 TCP/IP 套接字   网络库,它包装了 CFSocket   和 CFStream。它提供异步   操作,并具有原生的 Cocoa 类   支持代理。以下是其主要特点:

  • 排队非阻塞读取和写入,带有可选超时。你告诉它要读或写什么,它会在完成后调用你。

  • 自动套接字接受。如果你告诉它接受连接,它将为每个连接调用新的自身实例。当然,您可以立即断开它们。

  • 支持代理。错误、连接、接受、读取完成、写入完成、进度和断开连接都会调用您的代理方法。

  • 基于运行循环,而不是线程。虽然您可以在主线程或工作线程上使用它,但您并不需要这样做。它使用 NSRunLoop 异步调用代理方法。代理方法包括一个套接字参数,允许您区分多个实例。

  • 自包含在一个类中。你不需要摆弄流或套接字。该类处理所有这些。

  • 支持 IPv4 和 IPv6 上的 TCP 流。

该库是公共领域,   最初由 Dustin Voss 编写。现在   提供在公共环境中,以允许   和鼓励其继续支持。

AsyncUdpSocket 是一个 UDP/IP 套接字网络库,它包装了   CFSocket。它几乎与 TCP 版本完全相同,但专为 UDP 设计。   这包括排队非阻塞发送/接收   操作、完整的代理支持、   基于运行循环的、自包含类、   以及对 IPv4 和 IPv6 的支持。


这个库可以直接支持 Socket.IO 吗? - greenimpala

4

3

这个库似乎不再维护了,git项目甚至无法正确克隆--recursive。 - Ben G

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接