原生 iOS 客户端可以连接到 meteor.js 服务器吗?

Posted

技术标签:

【中文标题】原生 iOS 客户端可以连接到 meteor.js 服务器吗?【英文标题】:Can a native iOS client connect to a meteor.js server? 【发布时间】:2012-10-09 18:56:41 【问题描述】:

我对meteor.js 框架非常感兴趣。但是,我不确定是否可以通过 Objective-C 的原生对象(例如 NSURLConnection)来利用框架的实时功能。我有一些具体的问题可以参考这个关于 meteorjs 如何工作的问题:How does the Meteor javascript framework work?

让我们从网络套接字开始:

客户端/服务器消息传递是通过 websockets 使用某些东西完成的 比如 socks.js 或 socket.io。

是否有用于在能够与 Meteor 服务器通信的本机应用程序中使用 websocket 的 Objective-C 库或框架?

二是mongoDB客户端:

与 mongodb 的客户端连接真的很酷。它复制 mongo-server 驱动程序进入客户端。不幸的是,最后我 经检查,他们仍在努力保护此数据库连接。

这似乎是流星最有趣的部分。然而,这是否意味着除了在隐藏的 UIWebView 中执行 JavaScript 字符串之外,没有标准的方式与流星服务器通信?

【问题讨论】:

【参考方案1】:

对于任何对此感兴趣的人,我一直在这里开发一个客观的 ddp 客户端库。我才刚刚开始,还没有文档,但一切正常。项目在这里:https://github.com/boundsj/ObjectiveDDP

ddp 客户端的规格在这里:https://github.com/boundsj/ObjectiveDDP/blob/master/Specs/ObjectiveDDPSpec.mm

我还在为流星身份验证构建一个库,以便 ios 客户端可以使用密码包向流星服务器进行身份验证。这一切都放在一起并在这个示例待办事项应用程序中运行(也是同一个 repo 的一部分):https://github.com/boundsj/ObjectiveDDP/tree/master/Example

【讨论】:

【参考方案2】:

不是完整的答案,但希望有一些指导可以帮助您入门。

Meteor 使用称为 DDP - 分布式数据协议的协议。介绍它的博文在这里:http://meteor.com/blog/2012/03/21/introducing-ddp

这里有一个 github 上的 Objective-C 客户端库:https://github.com/alansikora/objective-c_ddp-client 虽然我不能保证它也没有真正的文档,但代码很短,应该可以被已经编写过 Objective-C 的人合理理解.

除此之外,我建议您深入研究一下,看看您是否可以发现任何适用于 iOS 客户端的技术。 Meteor 还处于早期阶段,所有人都在学习如何使用它。

【讨论】:

以上是关于原生 iOS 客户端可以连接到 meteor.js 服务器吗?的主要内容,如果未能解决你的问题,请参考以下文章

流星如何与android应用程序耦合?

socket.io 客户端可以连接到两个不同的服务器/端口吗?

通过 HTTPS 连接到 MobileFirst Server 时出现问题

iOS:客户端如何重新连接到 xmpp 服务器

使用 Socket.io 将客户端连接到服务器

Heroku - Socket.IO 客户端总是连接到本地主机