将桌面和移动客户端连接到 Django 和 Sails MVC 网络框架
Posted
技术标签:
【中文标题】将桌面和移动客户端连接到 Django 和 Sails MVC 网络框架【英文标题】:connecting desktop and mobile clients to Django and Sails MVC webframeworks 【发布时间】:2015-08-20 11:32:16 【问题描述】:我想使用 sails.js 构建一个 MVC Web 应用程序。
我还想要一个移动应用和桌面客户端来连接到我的网络应用。为了连接移动客户端,我想使用socket.io
,因为它提供了实时功能。
如何将客户端连接到服务器?
我尝试了 socket 连接 从 android 客户端 到我的sails 应用程序中的routes
之一,我得到了an error saying the connection had no cookies.
我记得过去当我想将我的桌面客户端连接到我的 Django 应用程序时,我得到了an error saying no POST possible when no csrf.
所以我的问题是正确的方法是什么? 我应该向我的移动应用程序发送 cookie 吗?我不认为 cookie 是这样做的干净方式。
我应该使用什么协议? Telegram 使用 MTProto。我应该实施类似的东西吗?
我应该在 MVC Web 框架的哪个位置收听和处理来自移动和桌面 客户?
对于我的应用,想象一个在线商店,它还具有社交网络功能,用户可以通过手机对商店商品发表评论 客户。
【问题讨论】:
【参考方案1】:首先,MTProto 是一种加密协议,所以我不确定你是否真的必须实现这样的东西。
如果服务器应用程序实现 REST 服务,我认为 coockie 是多余的。 默认情况下,Django POST 表单处理程序正在等待 csrf,但可以在没有 cookie 的情况下禁用或实现它(带有额外的后参数)。
据我了解,您正在尝试为您的服务实现 API。移动应用程序通常使用 API(和通常的 REST API)。我认为阅读一些关于 REST API 的文章对你很有用(你可以从这里开始:http://www.restapitutorial.com/lessons/whatisrest.html)
接下来,您可以搜索有关使用您的框架实现 REST API 的文章(也许这个答案会对您有所帮助 http://www.restapitutorial.com/lessons/whatisrest.html)。
简短的解释:您需要一组服务器方法,这些方法将是 API 方法。例如 /users url 的 GET 方法应该返回一个用户列表。 POST 到 /users 应该创建新用户。等等。而您的应用程序只是向这些 url 发送或接收数据的请求。您可以通过加密和解密所有传输的数据来进行密码学。但是您可以使用现有协议之一,而不必实现自己的 invent 协议。
【讨论】:
实时部分呢?我需要 Web 套接字连接,而且我希望服务器通知客户端有关更新,而不是我认为在 REST 中发生的长轮询。 我认为对于更新,您可以使用推送通知。它有很多服务。你可以在这里阅读更多信息:developers.google.com/cloud-messaging 关于 websockets,你可以阅读:***.com/questions/7445421/… sails 有 websocket 推送器吗?如果我使用简单的 REST 和第三方推送器,那么我将绕过sails 所承诺的所有实时功能。以上是关于将桌面和移动客户端连接到 Django 和 Sails MVC 网络框架的主要内容,如果未能解决你的问题,请参考以下文章
将 Java 桌面应用程序连接到 Firebase-analytics