2006年12月06日 星期三 22:54
刚准备实现一个xmlrpc server,看了手册,直接就使用了 import SimpleXMLRPCServer 结果发现只是单线程的。搜了几个开源的,简单试用了一下,发现也是单线程的。 最后找到一篇hack性质的:http://mail.python.org/pipermail/python-list/2003-July/217125.html 使用SimpleXMLRPCServer.py的源码把里面 SocketServer.TCPServer 换成 SocketServer.ThreadingTCPServer.就ok了。这也行?试了一下,好像真的可以。 对python的socket开发不熟悉。这样会有什么隐患吗?能否用在生产环境。 以前有php的实现过,是ixr的包。利用apache来处理http链接,而不是象上面 python实现独立的xmlrpc server。问一下python是否有类似的方式? -- feihu <feihu.list在gmail.com>
2006年12月07日 星期四 00:36
On 12/6/06, feihu <feihu.list在gmail.com> wrote: > > ¸Õ×¼±¸ÊµÏÖÒ»¸öxmlrpc server£¬¿´ÁËÊֲᣬֱ½Ó¾ÍʹÓÃÁË import SimpleXMLRPCServer > ½á¹û·¢ÏÖÖ»Êǵ¥Ï̵߳ġ£ËÑÁ˼¸¸ö¿ªÔ´µÄ£¬¼òµ¥ÊÔÓÃÁËһϣ¬·¢ÏÖÒ²Êǵ¥Ï̵߳ġ£ > ×îºóÕÒµ½Ò»ÆªhackÐÔÖʵģº > http://mail.python.org/pipermail/python-list/2003-July/217125.html > > ²»ÖªµÀÄãµÄÓ¦Óò¢·¢ÒªÇóÓжà¸ß£¬twistedÓ¦¸Ã¿ÉÒÔÂú×㣬²»¹ý²»ÊǶàÏ̵߳ģ¬ÊÇÒì²½/·Ç×èÈû·½Ê½µÄ http://twistedmatrix.com/projects/core/documentation/howto/tutorial/protocol.html#auto6 -- simple is good http://brucewang.net skype: number5 -------------- 下一部分 -------------- Ò»¸öHTML¸½¼þ±»ÒƳý... URL: http://python.cn/pipermail/python-chinese/attachments/20061207/710739d9/attachment.html
2006年12月07日 星期四 10:47
现在的项目是已有一些.so。做个接口把他们包起来,给其它client网络调用。 接口准备用xmlrpc。 因为是快速实现,而且除了调用so外,还有很多操作数据库的功能,所以就打算用 python来做,开始问了一些ctypes,pyrex的问题。希望用python作好的东西不是一 个原型,而是可以初期简单使用的东西。所以了解一下这样hack SimpleXmlRpcServer 后是否稳定? 初期的量,希望能撑到每天10万的请求,并发3-4个就足够了(只要稳定)。等以 后量上来,再做重构,或者用c/C++来实现(还不知道什么时候能达到这个量) 还没有仔细看twisted,不知道是否太复杂,目前也用不上。 > On 12/6/06, feihu <feihu.list在gmail.com> wrote: > > > > 刚准备实现一个xmlrpc server,看了手册,直接就使用了 import SimpleXMLRPCServer > > 结果发现只是单线程的。搜了几个开源的,简单试用了一下,发现也是单线程的。 > > 最后找到一篇hack性质的: > > http://mail.python.org/pipermail/python-list/2003-July/217125.html > > > > > 不知道你的应用并发要求有多高,twisted应该可以满足,不过不是多线程的,是异步/非阻塞方式的 > http://twistedmatrix.com/projects/core/documentation/howto/tutorial/protocol.html#auto6 > > -- > simple is good > http://brucewang.net > skype: number5 -- feihu <feihu.list在gmail.com>
2006年12月07日 星期四 11:24
On 12/6/06, feihu <feihu.list在gmail.com> wrote: > > 刚准备实现一个xmlrpc server,看了手册,直接就使用了 import SimpleXMLRPCServer > 结果发现只是单线程的。搜了几个开源的,简单试用了一下,发现也是单线程的。 > 最后找到一篇hack性质的:http://mail.python.org/pipermail/python-list/2003-July/217125.html > > 使用SimpleXMLRPCServer.py的源码把里面 SocketServer.TCPServer 换成 > SocketServer.ThreadingTCPServer.就ok了。这也行?试了一下,好像真的可以。 > > 对python的socket开发不熟悉。这样会有什么隐患吗?能否用在生产环境。 > > 以前有php的实现过,是ixr的包。利用apache来处理http链接,而不是象上面 > python实现独立的xmlrpc server。问一下python是否有类似的方式? > > 改python自带的库文件总是不好的。 不如在自己的程序里写: class ThreadedServer(SocketServer.ThreadingMixIn, SimpleXMLRPCServer): pass 然后: server = ThreadedServer(("", config.port)) ... -- Best Regards, Leo Jay
2006年12月07日 星期四 13:16
哦,没有仔细说。我是把SimpleXmlRpcServer.py 另存为了另一个文件。 库里的文件没有动。 只是不知道这样小修改后,是否可以满足我一般强度的使用。 > 改python自带的库文件总是不好的。 > 不如在自己的程序里写: > class ThreadedServer(SocketServer.ThreadingMixIn, SimpleXMLRPCServer): > pass > > 然后: > server = ThreadedServer(("", config.port)) > ... -- feihu <feihu.list在gmail.com>
Zeuux © 2025
京ICP备05028076号