我正在开发某种大型多人在线游戏。我的解决方案是服务器上的node.js socket.io。我需要解决方案来实现某种可以与socket.io通信的objective-c套接字来发送和接收json对象作为字符串。我不会在websocket中使用webkit。有没有可能?服务器将保持游戏状态,iPhone客户端将向服务器发送操作并接收服务器上的更改。iPhone Objective-C与Socket.IO套接字沟通
回答
如果你打算做一个本地应用程序,我建议查看Apple文档的流媒体和套接字。 http://developer.apple.com/library/ios/#documentation/cocoa/Conceptual/Streams/Streams.html
这个库似乎不再被维护,git项目甚至不克隆 - 正确递归 – 2013-04-02 13:39:32
或者看看cocoaasyncsocket:
CocoaAsyncSocket支持TCP和UDP。 AsyncSocket类用于TCP, ,AsyncUdpSocket类用于 UDP。下面介绍每个类。
AsyncSocket是一个TCP/IP套接字 网络库,包装CFSocket 和CFStream。它提供异步 操作,以及一个原生可可类 完成与委托支持。这里 重要特点:
排队非阻塞的读取和写入,可选超时。你要 告诉它读什么或写什么, 它会在完成后给你打电话。
自动插座验收。如果您告诉它接受连接,它会为每个连接调用自己的新实例。当然,您可以立即断开它们。
代表支持。错误,连接,接受,读取完成,写入完成,进度和断开连接都会导致调用您的委托方法。
基于运行循环,不基于线程。虽然您可以在主线程或工作线程上使用它,但您不必这样做。它使用NSRunLoop异步调用委托方法。委托方法包括一个套接字参数,允许您区分多个实例。
自成一体。您不需要使用流或套接字。该课程处理 所有这些。
支持通过IPv4和IPv6的TCP流。
该图书馆是公共领域, 最初由达斯汀沃斯编写。现在在公共场合 允许 并鼓励其持续的支持。
AsyncUdpSocket是一个UDP/IP套接字网络库,它包装了 CFSocket。它的工作原理与TCP版本的 几乎完全相同,但专门用于UDP的设计为 。这包括 排队非阻塞发送/接收 操作,全委托支持, 基于运行循环,自包含类, 和支持IPv4和IPv6。
这个库是否可以与Socket.IO一起使用? – greenimpala 2012-01-08 17:56:21
编辑2015年3月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
也许你想看看。
嗨pkyech。我正在使用你的库,它适用于我的iOS7应用程序。现在,我想连接一次,并通过NSObject管理每个viewController的事件,以避免太多连接/断开连接。你有什么教程吗? – Maziyar 2014-01-09 07:14:16
- 1. Arduino Socket.io沟通
- 2. iPhone用户之间的直接沟通
- 3. 直接与SCGI通道沟通
- 4. 如何让iPhone通过套接字与服务器通信?
- 5. 如何链接socket.io中的套接字?
- 6. Socket.io - 维护套接字连接(Swift)
- 7. 使用套接字来沟通的程序卡住
- 8. 不能与其他计算机使用socket.io沟通的node.js
- 9. iPhone基本绘图+套接字通信
- 10. 用JavaScript直接与相机沟通
- 11. Javascript与C++沟通
- 12. Android与AlarmManager沟通
- 13. 与网页沟通
- 14. 沟通与Android RIL
- 15. socket.io和.Net套接字服务器
- 16. Socket.IO中的套接字引用
- 17. Flash中的Nodejs,Socket.io和套接字
- 18. Nodejs和socket.io选择套接字广播
- 19. 如何正确封装socket.io套接字?
- 20. 与socket.io配对 - 依赖setInterval或套接字调用?
- 21. JavaScript套接字与Flash套接字?
- 22. iPhone套接字查询
- 23. Iphone上的TCP套接字
- 24. iPhone套接字程序
- 25. 与ActiveX EXE的套接字通信
- 26. 通过套接字与ESMTP协商TLS
- 27. 与TCP套接字(服务器)通信
- 28. 套接字通信?
- 29. 发送套接字数据到一个特定的套接字id socket.io
- 30. 无法与Watson沟通
此问题是离题; [只询问图书馆或其他非现场资源的建议的问题不属于Stack Overflow的主题](// meta.stackoverflow.com/q/251134/2747593)。 OP,如果你仍然有这个问题,那么请开始编写代码,当你有更具体的问题时再回来。请务必向我们展示[您尝试过的](http://whathaveyoutried.com)并包含[最小,完整,可验证示例](// stackoverflow.com/help/mcve)。 – 2016-12-22 19:08:30