当前位置:  开发笔记 > 编程语言 > 正文

Python中的网络编程

如何解决《Python中的网络编程》经验,为你挑选了5个好方法。

我应该使用什么库进行网络编程?是sockets最好的,还是有更高级别的界面,这是标准的?

我需要一些非常跨平台的东西(即Linux,Windows,Mac OS X),它只需要能够使用相同的库连接到其他Python程序.



1> wisty..:

你只想在节点之间发送python数据(可能在不同的计算机上)?您可能想要查看SimpleXMLRPCServer.它基于内置的HTTP服务器,它基于内置的Socket服务器,它们都不是最具工业强度的服务器,但它很容易设置匆忙:

from SimpleXMLRPCServer import SimpleXMLRPCServer
server = SimpleXMLRPCServer(("localhost", 9876))

def my_func(a,b):
    return a + b

server.register_function(my_func)
server.serve_forever()

并且易于连接到:

import xmlrpclib
s = xmlrpclib.ServerProxy('http://localhost:9876')

print s.my_func(2,3) 
>>> 5
print type(s.my_func(2,3))
>>> 
print s.my_func(2,3.0):
>>> 7.0

Twisted在工业应用中很受欢迎,但它有一个残酷的学习曲线.



2> Jeramy Rutle..:

您可能感兴趣的框架:扭曲



3> Corey Goldbe..:

答案取决于你想要做什么.

"我应该使用什么库进行网络编程?" 很模糊.

例如,如果你想做HTTP,你可能会看到像urllib,urllib2,httplib,套接字这样的标准库.这一切都取决于您要使用的协议,以及您希望使用的网络层.

python中有各种网络任务的库...电子邮件,网络,rpc等等......

对于初学者,查看标准库参考手册并查看您要执行的任务,然后从那里开始:http://docs.python.org/library/index.html



4> jamieb..:

如前所述,Twisted是最受欢迎的(到目前为止).但是,还有很多其他值得探索的选择.龙卷风和柴油可能是最重要的两个竞争者.更完整的比较,可以在这里找到.



5> Kylotan..:

我个人只是从标准库中使用asyncore,这有点像Twisted的一个非常简化的版本,但这是因为我更喜欢简单的低级接口.如果你想要一个更高级别的界面,特别是只是为了与你自己的程序的另一个实例进行通信,你不必担心网络层,而是可以考虑更高级别的东西,比如RPyC或pyro.然后,网络成为一个实现细节,您可以专注于发送信息.

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有