将桌面和移动客户端连接到Django和Sails MVC webframeworks

时间:2015-06-05 13:30:42

标签: android django socket.io sails.js sails.io.js

我想使用 sails.js构建MVC Web应用程序。
我还希望移动应用桌面客户端连接我的网络应用。要连接移动客户端,我想使用socket.io,因为它为其提供了实时功能。 如何我应该将客户端连接到服务器?

我在Android客户端中尝试了套接字连接 到我的sails应用程序中的routes之一,我得到了an error saying the connection had no cookies.

我记得以前当我想将我的桌面客户端连接到我的Django应用时,我得到an error saying no POST possible when no csrf.

所以我的问题是正确这样做的方式是什么? 我应该发送Cookie 到我的移动应用中吗?我不认为cookie是干净的方式。

我应该使用什么协议? 电报使用 MTProto 。我应该实现这样的东西吗?

在MVC网络框架中我应该倾听处理来自移动桌面<的连接/ strong>客户?

我的应用程序想象在线商店还具有社交网络功能,用户可以从他们的手机评论商店商品 客户。

1 个答案:

答案 0 :(得分:1)

首先,MTProto是一个加密协议,所以我不确定你是否真的必须实现这样的东西。

如果服务器应用程序实现REST服务,我认为coockie是多余的。 Django POST表单处理程序默认情况下会激活csrf但它可以在没有cookie的情况下被禁用或实现(带有额外的post-param)。

据我了解,您正在尝试为您的服务实施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方法应返回用户列表。对/ users的POST应该创建新用户。等等。而您的应用只是向这些网址发送或接收数据的请求。您可以通过加密和解密所有传输的数据来进行加密。但是您可以使用现有协议之一,而不必实现自己的发明协议。