9

我正在开发某种大型多人棋盘游戏。我的解决方案是服务器上的 node.js socket.io。我需要实现某种objective-c套接字的解决方案,它可以与socket.io通信,以字符串形式发送和接收json对象。我不会将 webkit 与 websocket 一起使用。有没有可能?服务器将保持游戏状态,iphone客户端将向服务器发送动作并接收服务器上的更改。

4

4 回答 4

10

2015/03/19 编辑: Socket.IO 开发人员创建了他们自己的支持 Socket.IO v1.0+ 的 iOS 库。在这里获取:https ://github.com/socketio/socket.io-client-swift


旧答案

我更新了 fpotter 的 socket.io 库以使用0.7.2 - 0.9.x版本。
它支持套接字和 XHRpolling。

https://github.com/pkyeck/socket.IO-objc

也许你想检查一下。

于 2013-01-16T09:23:11.733 回答
6

或者看看cocoaasyncsocket

CocoaAsyncSocket支持 TCP 和 UDP。AsyncSocket 类用于 TCP,AsyncUdpSocket 类用于 UDP。每个类如下所述。

AsyncSocket 是一个封装了 CFSocket 和 CFStream 的 TCP/IP 套接字网络库。它提供异步操作,以及带有委托支持的本地可可类。以下是主要特点:

  • 排队的非阻塞读取和写入,可选超时。你告诉它要读什么或写什么,它完成后会打电话给你。

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

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

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

  • 自成一类。你不需要弄乱流或套接字。该类处理所有这些。

  • 支持 IPv4 和 IPv6 上的 TCP 流。

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

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

于 2011-04-26T09:07:22.530 回答
4

I'd suggest checking out the Apple documentation for streaming and sockets if you are planning on doing an native app. http://developer.apple.com/library/ios/#documentation/cocoa/Conceptual/Streams/Streams.html

于 2011-02-10T00:55:18.523 回答
3

看看这个:https ://github.com/fpotter/socketio-cocoa

于 2011-04-26T08:58:44.523 回答