首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >客户端服务器通信网络编程python

客户端服务器通信网络编程python
EN

Stack Overflow用户
提问于 2013-02-16 18:38:23
回答 2查看 677关注 0票数 1

我曾计划构建一个带有服务器和多个clients.When的应用程序客户端第一次连接到服务器它必须获得一个id.Each时间客户端发送请求,服务器向客户端发送一组strings.the客户端,然后处理这些字符串,一旦完成,它再次向服务器发送请求,要求服务器上的数据库中存在另一组strings.The字符串。

我已经实现了处理字符串的客户端程序的一部分,但我不知道如何实现服务器和客户端之间的通信。

我正在使用python.I开发这个应用程序,我不知道网络编程,因此我不知道如何让它工作。

我遇到了套接字编程和面向消息的中间件、消息队列、消息代理,我不确定这些是否是我想要的need.Could。请告诉我需要使用什么以及需要学习哪些主题才能使其工作。我希望我的话听起来不会含糊。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-16 18:42:40

我认为您应该看看XML-RPC协议,它允许您使用代理对象,而不是编写低级套接字内容。

Python在实现它的标准库中附带了两个模块,xmlprclib实现客户端,而SimpleXMLRPCServer实现服务器。在python3中,它们被重命名为xmlrpc.clientxmlrpc.server

这两个模块都附带了some examples用法,可能会让您了解如何让它们为您工作。

具体地说,您的服务器将公开一个函数来注册该客户端,返回一个新的客户端id,以及一个处理字符串并返回结果的函数,客户端只需在代理对象中调用该方法即可。它的实现应该非常简单。

票数 0
EN

Stack Overflow用户

发布于 2013-02-16 19:07:01

我可以建议使用像beanstalkd这样的工具吗?

这样,您就可以创建一个服务器,将“字符串”推送到队列中,一个或多个客户端可以从该队列中提取一个“字符串”,对其进行处理,然后在处理完成后获取另一个“字符串”。

我相信以这种方式使用队列比创建套接字等更容易。

只是从他们的网站上取下这个例子。

服务器?

代码语言:javascript
复制
>>> import beanstalkc
>>> beanstalk = beanstalkc.Connection(host='localhost', port=14711)
>>> beanstalk.put('hey!')
1

客户?

代码语言:javascript
复制
>>> job = beanstalk.reserve()
>>> job.body
'hey!'
>>> job.delete()

使用起来非常简单,可以创建“请求”、“结果”、“错误”队列(管道)。

它可能不适合您的目的,但它是要牢记的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14909365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档