python

时间:2017-05-15 11:53:02

标签: python frameworks client-server

我目前正在开展一个需要使用客户端 - 服务器模型实现的大学项目。 我曾经有过在套接字级管理通信的经历,这真的很糟糕。 我想知道是否有人可以建议一个易于使用的python框架,我可以用于此目的。 我不知道你可能需要回答什么样的细节,所以我只是简单地描述一下这个项目。

  • 通过HTTP进行通信,可能是HTTPS。
  • 服务器不需要在客户端上发回数据或调用方法,只需收集数据
  • 许多客户端同时向服务器发送数据,服务器需要区分发件人,相应地处理数据并将结果放入数据库。

2 个答案:

答案 0 :(得分:0)

如果我理解正确,你可以在python中使用任何web框架。例如,你可以使用Flask(我使用它,我喜欢它)。 Django也是python web框架中的流行选择。但是,您不应仅限于这两个。那里有很多。只是为他们谷歌。

客户端的实现取决于客户端和服务器之间的通信类型 - 我在这里没有足够的细节。我只知道它是单向的。

客户端可以是访问您在Flask中编写的Web应用程序的浏览器,用户只向服务器发送POST请求。但是,即使在这里,通信也是双向的(客户端需要打开页面,这意味着服务器将请求发送回客户端)并且它违反了您的初始要求。

然后它可以是用python编写的特定客户端,通过http / https向您的服务器发送一些特定请求。例如,您的客户端可以使用requests包来发送HTTP请求。

答案 1 :(得分:0)

你可以使用像Flask或Django这样的东西。这两个框架都很容易实现,Flask比Django IMO容易得多,尽管Django有一个内置的身份验证层可以使用,虽然在你需要的客户端/服务器场景中更难实现。

我个人会使用Flask和JWT(JSON Web令牌),这将允许您为每个客户端提供令牌以便与服务器进行身份验证,这也可以让您区分客户端,并且可以使用HTTPS作为SSL / TLS要求。实现这一目标要容易得多,虽然我更喜欢django更好地为它带来了什么,但是让你学习单一作业可能有点过头了。

对于使用SSL的Flask,here是一个快速概述。

对于使用Flask的JWT,here就是那个。

您可以使用任何您想要的数据库系统。