新的iOS websocket库SocketRocket看起来非常棒,聊天示例项目也非常棒。示例聊天服务器是用Python编写的,我对此一无所知。我对node.js上的socket.io有点熟悉,更喜欢尝试javascript。我尝试将SocketRocket TestChat模拟器应用程序连接到node.js(6.10)socket.io(0.8.7),但连接被拒绝。(另外,我也不是节点专家,所以这可能是一个愚蠢的问题)。
在最近对SO问题的回答中,米克莱克斯皮对op说:"我建议更新你的堆栈,使用我们刚刚发布的iOS WebSocket库。"
这到底是什么意思?让SocketRocket库与节点socket.io服务器对话需要什么?非常感谢任何示例代码或建议。
你的socket.io有自己的协议,建立在传输协议(如websocket或长轮询)上,SocketRocket只是一个websocket库,不再是了。Socket.io也有一些身份验证,因此无法将其与普通的web套接字一起使用。我建议您使用的只是一个websocket服务器,仅此而已。比如ws,它应该是兼容的。还有其他库,但是,我相信ws
目前正在积极开发,而且比其他库更新。
你也可以让你的客户端socket.io兼容,但我认为它是非种子的。以下是它的规格:https://github.com/LearnBoost/socket.io-spec
希望我能帮上忙。
它使用SocketRocket来处理websocket连接。
这将允许您拥有一个支持旧浏览器(降级为长轮询等)的套接字服务器,并且仍然可以通过SocketRocket访问您的iOS应用程序。
我刚刚使用这个库实现了Node.JS服务器和iOS应用程序之间的活动套接字连接。我使用这个是因为Socket.IO-ObjC上的自述显示
此库的当前版本还不支持socket.io v1.0。因此,如果你想使用socket.io-objc,请回到v0.9.x。
但我总是想用最新的版本。因此,如果你想使用Socket.IO v1.0,你可以使用上面几行提供的链接上的那个。