python的客户机-服务器框架
我目前正在从事一个大学项目,该项目需要使用客户机-服务器模型来实现。 我过去有过在套接字级别管理通信的经验,这真的很糟糕。 我想知道是否有人能推荐一个易于使用的python框架,我可以用它来实现这个目的。 我不知道你需要回答什么样的细节,所以我只简单地描述一下这个项目python的客户机-服务器框架,python,frameworks,client-server,Python,Frameworks,Client Server,我目前正在从事一个大学项目,该项目需要使用客户机-服务器模型来实现。 我过去有过在套接字级别管理通信的经验,这真的很糟糕。 我想知道是否有人能推荐一个易于使用的python框架,我可以用它来实现这个目的。 我不知道你需要回答什么样的细节,所以我只简单地描述一下这个项目 通信应该通过HTTP(可能是HTTPS)进行 服务器不需要发回数据或调用客户机上的方法,它只收集数据 许多客户端同时向服务器发送数据,服务器需要区分发送者,相应地处理数据并将结果放入数据库 如果我理解正确,您可以使用python
- 通信应该通过HTTP(可能是HTTPS)进行
- 服务器不需要发回数据或调用客户机上的方法,它只收集数据
- 许多客户端同时向服务器发送数据,服务器需要区分发送者,相应地处理数据并将结果放入数据库
然后,它可以是用python编写的特定客户机,通过http/https向服务器发送一些特定的请求。例如,您的客户端可以使用
请求
包发送HTTP请求。您可以使用类似Flask或Django的东西。这两个框架都很容易实现,Flask比Django-IMO容易得多,尽管Django有一个内置的身份验证层,您可以使用它,但在您需要的客户机/服务器场景中实现起来更困难
我个人会使用Flask和JWT(JSON Web令牌),这将允许您向每个客户端提供一个令牌,以便与服务器进行身份验证,这也将允许您区分客户端,并且您可以使用HTTPS满足SSL/TLS要求。实现这一点要容易得多,尽管我更喜欢django,因为它能为大家带来什么,但让你在一次任务中学习它可能有些过分
对于使用SSL的Flask,这是一个简单的例子
对于带烧瓶的JWT,是这样的
您可以使用任何您想要的数据库系统。您应该使用什么网络协议?你能使用HTTP吗?我应该使用HTTPS,但演示不会涉及项目的这一部分,可以是HTTP,我不清楚我的说法。我不是说服务器不能向客户端发送消息,而是说服务器不需要向客户端发送数据。我要编辑我的帖子。谢谢你的建议,我去查查Flask和Django!我看了一下Flask,它似乎是针对web应用程序的。实际上,我需要一个小型python程序(客户端),将从.txt获取的数据发送到另一个python程序(服务器)。@Frank Fox博士,我仍然会使用flask并在兼容WSGI的应用程序服务器上运行它,因为如果您有多个客户端,它将为您处理多个并发请求。然后可以用python编写一个小客户机。正如我已经说过的,您可以使用
请求
包向服务器发送http请求。