2004年08月02日 星期一 19:26
效果不错,大家试试,我们测得基本稳定在3850条/秒以上 -- 可爱的小新 -------------- next part -------------- A non-text attachment was scrubbed... Name: benchmarks.zip Type: application/octet-stream Size: 13310 bytes Desc: not available Url : http://lists.exoweb.net/pipermail/python-chinese/attachments/20040802/d7109b52/benchmarks-0001.obj
2004年08月02日 星期一 20:02
info,您好! 能具体说一下你那儿没看懂吗? ======= 2004-08-02 08:56:31 您在来信中写道:======= >hoxide,您好! > >http://www-900.ibm.com/developerWorks/cn/linux/sdk/python/charm-20/index.shtml > > 没看懂,能讲解一下吗? > >======= 2004-08-01 12:19:47 您在来信中写道:======= > >>HD,您好! >> >>大家最好先了解一下生成器的有关知识:IBM上的《可爱的 Python:迭代器和简单生成器》: http://www-900.ibm.com/developerWorks/cn/linux/sdk/python/charm-20/index.shtml >> >>昨天给的代码还有点错误,修改的代码(其实只改了打星号的地方): >> >> def testserver(self): >> """向服务器发的测试报文""" >> try: >> self.pp.next() >> self.call = reactor.callLater(0,self.testserver) >> return >> except StopIteration: >> pass >> >> def __init__(self): >> self.pp=self.sendQQ() >> ussp.USSClientQueueProtocol.__init__(self) >> >> def sendQQ(self): >> global nownum >> global count >> i=1 >> while i < count: >> message = usspmsg.USSPMessage() >> message.setMsgName('mail_counter') >> message.body.setField('uid',str(i)) >> while self.factory.sendQueue.full(): #* >> yield None #** >> self.factory.sendQueue.put_nowait(message) >> i += 1 >> nownum=i >> self.disconnect() >> >>这里真正的处理是在sendQQ这个函数定义的.self.pp是生成器的实例,由__init__()生成,testserver只是调度完成这个处理的函数,而且是和具体的处理独立的,他只是简单得实现了当处理"暂停"后的重新启动. >> >>真正神奇的地方是打星号的行.他测试sendQueue确定是否能发出message,如果不能就会执行yield None,这时函数就终止在**这行,直到在有.next()方法调用时再从这句开始执行. >>这个好处是原来的处理流程可以很顺利得进行.不需要保存中间变量.注意0731a的testserver能正确得发出所有message,是因为恰巧有全局变量nownum完全确定处理的执行状态了.但事事上一般的处理不会那么简单,有复杂的状态组合(上面的代码并没用nownum,而是用了循环变量i,注意他不是全局的!!!!!).正像zoomq昨天说的0731a的testserver在queue满的时候前面对message的处理就被抛弃了,但在这个生成器版本,先前对message的处理没有被抛弃. >> >>个人觉得这个生成器版本还是不够完美,异步传输还是应该以线程为基础进行.下一个版本可能是基于生成器的简单线程:) >> >>说得不是很明白,我不清楚大家对什么地方有疑问. >> >> >>===== 2004-08-01 00:33:08 您在来信中写道:======= >> >>>细说说,为什么说是生成器版的呢? >>> >>>On Sat, 31 Jul 2004 23:22:53 +0800, hoxide <hoxide_dirac at yahoo.com.cn> wrote: >>>> python-chinese,您好! >>>> >>>> 为什么要用生成器,现在的testserver的执行流程只依赖于nownum,而事实上通常的服务要依赖于整个运行流程.另外这样的写法可将窗口部分的代码抽出. >>>> >>>> 致 >>>> 礼! >>>> >>>> hoxide >>>> hoxide_dirac at yahoo.com.cn >>>> 2004-07-31 >>>> >>>> >>>> >>> >>> >>>-- >>>HD(燃烧中的火) >>>我工作我快乐,我勤奋我收获。请与我一起快乐,与我一起收获。 >>>_______________________________________________ >>>python-chinese list >>>python-chinese at lists.python.cn >>>http://python.cn/mailman/listinfo/python-chinese >>> >> >>= = = = = = = = = = = = = = = = = = = = >> >> >> 致 >>礼! >> >> >> hoxide >> hoxide_dirac at yahoo.com.cn >> 2004-08-01 >> >>_______________________________________________ >>python-chinese list >>python-chinese at lists.python.cn >>http://python.cn/mailman/listinfo/python-chinese >> > >= = = = = = = = = = = = = = = = = = = = > > > 致 >礼! > > > info > info at xichen.com > 2004-08-02 > >_______________________________________________ >python-chinese list >python-chinese at lists.python.cn >http://python.cn/mailman/listinfo/python-chinese > = = = = = = = = = = = = = = = = = = = = 致 礼! hoxide hoxide_dirac at yahoo.com.cn 2004-08-02
2004年08月02日 星期一 20:03
Liming_Do,您好! news.newsfan.net ======= 2004-08-02 18:35:37 您在来信中写道:======= >hoxide 您好 > >你说的这个新闻组的地址是多少? > >-----原始邮件----- >发件人: python-chinese-bounces at lists.python.cn >[mailto:python-chinese-bounces at lists.python.cn]代表 hoxide >发送时间: 2004年8月2日 17:45 >收件人: python-chinese at lists.python.cn >主题: Re: Re: Re: Re[9]: _[python-chinese]_一个生成器版本的ussc.py > > >limodou,您好! > > news是可以对主题进行分类的,有点像bbs,但个人感觉比bbs还好. > >======= 2004-08-02 17:47:09 您在来信中写道:======= > >>hoxide,您好! >> >> news与maillist有多大的区别?我看差不多。 >> >>======= 2004-08-02 17:26:02 您在来信中写道:======= >> >>>Zoom.Quiet,您好! >>> >>> 偶们可以到newsfans新闻组讨论阿,我发了开版申请,但那里的老大说,暂时先到perl组,以后他们确认人多了再单独开一个. >>> >>>======= 2004-08-02 16:41:33 您在来信中写道:======= >>> >>>>Hollo info: >>>> >>>> 大家都感觉现在的 列表,知识的查询非常困难,那未,将讨论出来的有效知识固定下来,成为文章,为后来者作个准备,实为一大德政是也乎! >>>>请关注 >>>>http://220.248.2.35:7080/moin/RecentChanges >>>>Wiki 更新记录 >>>> >>>>今天在 PyUSS 页面组织了: >>>> >>>>基准代码/benchmarks >>>>-- 测试平台; 演化,UML设计等等 >>>> >>>>相关知识 >>>>收集整理开发过程中大家发现,使用,迷惑的知识点,包括基础的东西是也乎 >>>> >>>> FAQnetwork -- TCP/IP;UCP...... >>>> PyThread -- 线程编程 >>>> PyOptimize -- Python 代码优化经验收集! >>>> >>>>请同志们继续学习,共享经验! >>>> >>>>/******** [2004-08-02]16:30:37 ; info wrote: >>>> >>>>info at xichen.com> limodou,您好! >>>> >>>>info at xichen.com> 用twisted写的服务器端本身就处理的多线程,这个大家可以用我们做测试的例子来试。 >>>>info at xichen.com> >>>>info at xichen.com> 对于客户端来讲,除非是传输文件本身,没有必要采用多线程。 >>>>info at xichen.com> >>>>info at xichen.com> 我的意见是,达到本期的产品基线,然后用最稳定、最简洁的方式来实现。 >>>> >>>>info at xichen.com> ======= 2004-08-01 16:50:58 您在来信中写道:======= >>>> >>>>>>hoxide,您好! >>>>>> >>>>>> 的确,整个程序只有一个线程,那么这种异步都通过twisted来完成,的确象queue这种阻塞方式就无法实现了。多线程,多点测试才更符合实际。 >>>>>> >>>>>> >>>>>>======= 2004-08-01 15:28:13 您在来信中写道:======= >>>>>> >>>>>>>limodou,您好! >>>>>>> >>>>>>> 开始我们也尝试过用queue的阻塞处理,但这样就阻塞了主线程,连recive都不行. >>>>>>>这个问题的根本解决方案还是用线程,我只是提供一种类似的东西("轻便线程"http://www-900.ibm.com/developerWorks/cn/linux/sdk/python/) >>>>>>>另外我觉得应该建一个多连接的测试程序,而不只是一个连接多请求的测试程序. >>>>>>>而窗口应该放在服务端比较好一点 >>>>>>> >>>>>>>======= 2004-08-01 14:54:55 您在来信中写道:======= >>>>>>> >>>>>>>>hoxide,您好! >>>>>>>> >>>>>>>> 其实真正的数据发送是由客户端做的,我们可以把连接、发送数据等进行封装由客户端来调用。这样由客户端去组织数据,而我们的协议处理只是一个被调用方就行了。因为这只是一个测试程序,还不是真正的应用,因此可能就不讲究了。真正做成客户端,可能程序都要改了。既然我们不想发送太快,queue完全可以采用阻塞方式来处理。 >>>>>>>> >>>>>>>>======= 2004-08-01 14:31:17 您在来信中写道:======= >>>>>>>> >>>>>>>>>limodou,您好! >>>>>>>>> >>>>>>>>> 这点我直到但是程序还是依赖一个全局变量,对于复杂的情况,这种用法是不好的,首先明显得会带来名字空间的污染,其次如果程序执行的上下文关系复杂,那么也就不是几个全局变量能轻松解决的. >>>>>>>>> >>>>>>>>> >>>>>>>>>======= 2004-08-01 14:07:21 您在来信中写道:======= >>>>>>>>> >>>>>>>>>>hoxide,您好! >>>>>>>>>> >>>>>>>>>> 其实不丢message也可以,这样不用使用生成器。只要把message生成放到else中就行了。因为那时是可以发送数据的。之所以丢是因为先生成了message,然后才判断是否可以发送,如果不能发送自然就丢了。如果改到可以发送才生成message就不会丢了。 >>>>>>>>>> >>>>>>>>>> while nownum < count: >>>>>>>>>> if self.factory.sendQueue.full(): >>>>>>>>>> self.call = reactor.callLater(0, self.testserver) >>>>>>>>>> return >>>>>>>>>> else: >>>>>>>>>> message = usspmsg.USSPMessage() #* >>>>>>>>>> message.setMsgName('mail_counter') #* >>>>>>>>>> message.body.setField('uid',str(nownum)) #* 这几行移下来了 >>>>>>>>>> self.factory.sendQueue.put_nowait(message) >>>>>>>>>> nownum += 1 >>>>>>>>>> >>>>>>>>>>======= 2004-08-01 12:19:47 您在来信中写道:======= >>>>>>>>>> >>>>>>>>>>>HD,您好! >>>>>>>>>>> >>>>>>>>>>>大家最好先了解一下生成器的有关知识:IBM上的《可爱的 >>>>>>>>>>>Python:迭代器和简单生成器》: >>>>>>>>>>>http://www-900.ibm.com/developerWorks/cn/linux/sdk/python/charm-20/index.shtml >>>>>>>>>>> >>>>>>>>>>>昨天给的代码还有点错误,修改的代码(其实只改了打星号的地方): >>>>>>>>>>> >>>>>>>>>>> def testserver(self): >>>>>>>>>>> """向服务器发的测试报文""" >>>>>>>>>>> try: >>>>>>>>>>> self.pp.next() >>>>>>>>>>> self.call = reactor.callLater(0,self.testserver) >>>>>>>>>>> return >>>>>>>>>>> except StopIteration: >>>>>>>>>>> pass >>>>>>>>>>> >>>>>>>>>>> def __init__(self): >>>>>>>>>>> self.pp=self.sendQQ() >>>>>>>>>>> ussp.USSClientQueueProtocol.__init__(self) >>>>>>>>>>> >>>>>>>>>>> def sendQQ(self): >>>>>>>>>>> global nownum >>>>>>>>>>> global count >>>>>>>>>>> i=1 >>>>>>>>>>> while i < count: >>>>>>>>>>> message = usspmsg.USSPMessage() >>>>>>>>>>> message.setMsgName('mail_counter') >>>>>>>>>>> message.body.setField('uid',str(i)) >>>>>>>>>>> while self.factory.sendQueue.full(): #* >>>>>>>>>>> yield None #** >>>>>>>>>>> self.factory.sendQueue.put_nowait(message) >>>>>>>>>>> i += 1 >>>>>>>>>>> nownum=i >>>>>>>>>>> self.disconnect() >>>>>>>>>>> >>>>>>>>>>>这里真正的处理是在sendQQ这个函数定义的.self.pp是生成器的实例,由__init__()生成,testserver只是调度完成这个处理的函数,而且是和具体的处理独立的,他只是简单得实现了当处理"暂停"后的重新启动. >>>>>>>>>>> >>>>>>>>>>>真正神奇的地方是打星号的行.他测试sendQueue确定是否能发出message,如果不能就会执行yield >>>>>>>>>>>None,这时函数就终止在**这行,直到在有.next()方法调用时再从这句开始执行. >>>>>>>>>>>这个好处是原来的处理流程可以很顺利得进行.不需要保存中间变量.注意0731a的testserver能正确得发出所有message,是因为恰巧有全局变量nownum完全确定处理的执行状态了.但事事上一般的处理不会那么简单,有复杂的状态组合(上面的代码并没用nownum,而是用了循环变量i,注意他不是全局的!!!!!).正像zoomq昨天说的0731a的testserver在queue满的时候前面对message的处理就被抛弃了,但在这个生成器版本,先前对message的处理没有被抛弃. >>>>>>>>>>> >>>>>>>>>>>个人觉得这个生成器版本还是不够完美,异步传输还是应该以线程为基础进行.下一个版本可能是基于生成器的简单线程:) >>>>>>>>>>> >>>>>>>>>>>说得不是很明白,我不清楚大家对什么地方有疑问. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>===== 2004-08-01 00:33:08 您在来信中写道:======= >>>>>>>>>>> >>>>>>>>>>>>细说说,为什么说是生成器版的呢? >>>>>>>>>>>> >>>>>>>>>>>>On Sat, 31 Jul 2004 23:22:53 +0800, hoxide >>>>>>>>>>>><hoxide_dirac at yahoo.com.cn> wrote: >>>>>>>>>>>>> python-chinese,您好! >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> 为什么要用生成器,现在的testserver的执行流程只依赖于nownum,而事实上通常的服务要依赖于整个运行流程.另外这样的写法可将窗口部分的代码抽出. >>>>>>>>>>>>> >>>>>>>>>>>>> 致 >>>>>>>>>>>>> 礼! >>>>>>>>>>>>> >>>>>>>>>>>>> hoxide >>>>>>>>>>>>> hoxide_dirac at yahoo.com.cn >>>>>>>>>>>>> 2004-07-31 >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>-- >>>>>>>>>>>>HD(燃烧中的火) >>>>>>>>>>>>我工作我快乐,我勤奋我收获。请与我一起快乐,与我一起收获。 >>>>>>>>>>>>_______________________________________________ >>>>>>>>>>>>python-chinese list >>>>>>>>>>>>python-chinese at lists.python.cn >>>>>>>>>>>>http://python.cn/mailman/listinfo/python-chinese >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>= = = = = = = = = = = = = = = = = = = = >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> 致 >>>>>>>>>>>礼! >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> hoxide >>>>>>>>>>> hoxide_dirac at yahoo.com.cn >>>>>>>>>>> 2004-08-01 >>>>>>>>>>> >>>>>>>>>>>_______________________________________________ >>>>>>>>>>>python-chinese list >>>>>>>>>>>python-chinese at lists.python.cn >>>>>>>>>>>http://python.cn/mailman/listinfo/python-chinese >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>>= = = = = = = = = = = = = = = = = = = = >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> 致 >>>>>>>>>>礼! >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> limodou >>>>>>>>>> chatme at 263.net >>>>>>>>>> 2004-08-01 >>>>>>>>>> >>>>>>>>>>_______________________________________________ >>>>>>>>>>python-chinese list >>>>>>>>>>python-chinese at lists.python.cn >>>>>>>>>>http://python.cn/mailman/listinfo/python-chinese >>>>>>>>>> >>>>>>>>> >>>>>>>>>= = = = = = = = = = = = = = = = = = = = >>>>>>>>> >>>>>>>>> >>>>>>>>> 致 >>>>>>>>>礼! >>>>>>>>> >>>>>>>>> >>>>>>>>> hoxide >>>>>>>>> hoxide_dirac at yahoo.com.cn >>>>>>>>> 2004-08-01 >>>>>>>>> >>>>>>>>>_______________________________________________ >>>>>>>>>python-chinese list >>>>>>>>>python-chinese at lists.python.cn >>>>>>>>>http://python.cn/mailman/listinfo/python-chinese >>>>>>>>> >>>>>>>> >>>>>>>>= = = = = = = = = = = = = = = = = = = = >>>>>>>> >>>>>>>> >>>>>>>> 致 >>>>>>>>礼! >>>>>>>> >>>>>>>> >>>>>>>> limodou >>>>>>>> chatme at 263.net >>>>>>>> 2004-08-01 >>>>>>>> >>>>>>>>_______________________________________________ >>>>>>>>python-chinese list >>>>>>>>python-chinese at lists.python.cn >>>>>>>>http://python.cn/mailman/listinfo/python-chinese >>>>>>>> >>>>>>> >>>>>>>= = = = = = = = = = = = = = = = = = = = >>>>>>> >>>>>>> >>>>>>> 致 >>>>>>>礼! >>>>>>> >>>>>>> >>>>>>> hoxide >>>>>>> hoxide_dirac at yahoo.com.cn >>>>>>> 2004-08-01 >>>>>>> >>>>>>>_______________________________________________ >>>>>>>python-chinese list >>>>>>>python-chinese at lists.python.cn >>>>>>>http://python.cn/mailman/listinfo/python-chinese >>>>>>> >>>>>> >>>>>>= = = = = = = = = = = = = = = = = = = = >>>>>> >>>>>> >>>>>> 致 >>>>>>礼! >>>>>> >>>>>> >>>>>> limodou >>>>>> chatme at 263.net >>>>>> 2004-08-01 >>>>>> >>>>>>_______________________________________________ >>>>>>python-chinese list >>>>>>python-chinese at lists.python.cn >>>>>>http://python.cn/mailman/listinfo/python-chinese >>>>>> >>>> >>>>info at xichen.com> = = = = = = = = = = = = = = = = = = = = >>>> >>>> >>>>info at xichen.com> 致 >>>>info at xichen.com> 礼! >>>> >>>> >>>>info at xichen.com> info >>>>info at xichen.com> info at xichen.com >>>>info at xichen.com> 2004-08-02 >>>> >>>> >>>> >>>>********************************************/ >>>> >>>>-- >>>>Free as in Freedom >>>> >>>> Zoom.Quiet >>>> >>>>#=========================================# >>>>]Time is unimportant, only life important![ >>>>#=========================================# >>>> >>>>sender is the Bat!2.12.00 >>>> >>>>_______________________________________________ >>>>python-chinese list >>>>python-chinese at lists.python.cn >>>>http://python.cn/mailman/listinfo/python-chinese >>> >>>= = = = = = = = = = = = = = = = = = = = >>> >>> >>> 致 >>>礼! >>> >>> >>> hoxide >>> hoxide_dirac at yahoo.com.cn >>> 2004-08-02 >>> >>>_______________________________________________ >>>python-chinese list >>>python-chinese at lists.python.cn >>>http://python.cn/mailman/listinfo/python-chinese >>> >> >>= = = = = = = = = = = = = = = = = = = = >> >> >> 致 >>礼! >> >> >> limodou >> chatme at 263.net >> 2004-08-02 >> >>_______________________________________________ >>python-chinese list >>python-chinese at lists.python.cn >>http://python.cn/mailman/listinfo/python-chinese >> > >= = = = = = = = = = = = = = = = = = = = > > > 致 >礼! > > > hoxide > hoxide_dirac at yahoo.com.cn > 2004-08-02 > >_______________________________________________ >python-chinese list >python-chinese at lists.python.cn >http://python.cn/mailman/listinfo/python-chinese = = = = = = = = = = = = = = = = = = = = 致 礼! hoxide hoxide_dirac at yahoo.com.cn 2004-08-02
2004年08月02日 星期一 20:18
hoxide,您好, 我不能直接上网,只能用代理,刚才连了一下,不支持socks。 -----原始邮件----- 发件人: python-chinese-bounces at lists.python.cn [mailto:python-chinese-bounces at lists.python.cn]代表 hoxide 发送时间: 2004年8月2日 20:04 收件人: python-chinese at lists.python.cn 主题: Re: 答复: Re: Re: Re[9]: _[python-chinese]_一个生成器版本的ussc.py Liming_Do,您好! news.newsfan.net ======= 2004-08-02 18:35:37 您在来信中写道:======= >hoxide 您好 > >你说的这个新闻组的地址是多少? > >-----原始邮件----- >发件人: python-chinese-bounces at lists.python.cn >[mailto:python-chinese-bounces at lists.python.cn]代表 hoxide >发送时间: 2004年8月2日 17:45 >收件人: python-chinese at lists.python.cn >主题: Re: Re: Re: Re[9]: _[python-chinese]_一个生成器版本的ussc.py > > >limodou,您好! > > news是可以对主题进行分类的,有点像bbs,但个人感觉比bbs还好. > >======= 2004-08-02 17:47:09 您在来信中写道:======= > >>hoxide,您好! >> >> news与maillist有多大的区别?我看差不多。 >> >>======= 2004-08-02 17:26:02 您在来信中写道:======= >> >>>Zoom.Quiet,您好! >>> >>> 偶们可以到newsfans新闻组讨论阿,我发了开版申请,但那里的老大说,暂时先到perl组,以后他们确认人多了再单独开一个. >>> >>>======= 2004-08-02 16:41:33 您在来信中写道:======= >>> >>>>Hollo info: >>>> >>>> 大家都感觉现在的 列表,知识的查询非常困难,那未,将讨论出来的有效知识固定下来,成为文章,为后来者作个准备,实为一大德政是也乎! >>>>请关注 >>>>http://220.248.2.35:7080/moin/RecentChanges >>>>Wiki 更新记录 >>>> >>>>今天在 PyUSS 页面组织了: >>>> >>>>基准代码/benchmarks >>>>-- 测试平台; 演化,UML设计等等 >>>> >>>>相关知识 >>>>收集整理开发过程中大家发现,使用,迷惑的知识点,包括基础的东西是也乎 >>>> >>>> FAQnetwork -- TCP/IP;UCP...... >>>> PyThread -- 线程编程 >>>> PyOptimize -- Python 代码优化经验收集! >>>> >>>>请同志们继续学习,共享经验! >>>> >>>>/******** [2004-08-02]16:30:37 ; info wrote: >>>> >>>>info at xichen.com> limodou,您好! >>>> >>>>info at xichen.com> 用twisted写的服务器端本身就处理的多线程,这个大家可以用我们做测试的例子来试。 >>>>info at xichen.com> >>>>info at xichen.com> 对于客户端来讲,除非是传输文件本身,没有必要采用多线程。 >>>>info at xichen.com> >>>>info at xichen.com> 我的意见是,达到本期的产品基线,然后用最稳定、最简洁的方式来实现。 >>>> >>>>info at xichen.com> ======= 2004-08-01 16:50:58 您在来信中写道:======= >>>> >>>>>>hoxide,您好! >>>>>> >>>>>> 的确,整个程序只有一个线程,那么这种异步都通过twisted来完成,的确象queue这种阻塞方式就无法实现了。多线程,多点测试才更符合实际。 >>>>>> >>>>>> >>>>>>======= 2004-08-01 15:28:13 您在来信中写道:======= >>>>>> >>>>>>>limodou,您好! >>>>>>> >>>>>>> 开始我们也尝试过用queue的阻塞处理,但这样就阻塞了主线程,连recive都不行. >>>>>>>这个问题的根本解决方案还是用线程,我只是提供一种类似的东西("轻便线程"http://www-900.ibm.com/developerWorks/cn/linux/sdk/python/) >>>>>>>另外我觉得应该建一个多连接的测试程序,而不只是一个连接多请求的测试程序. >>>>>>>而窗口应该放在服务端比较好一点 >>>>>>> >>>>>>>======= 2004-08-01 14:54:55 您在来信中写道:======= >>>>>>> >>>>>>>>hoxide,您好! >>>>>>>> >>>>>>>> 其实真正的数据发送是由客户端做的,我们可以把连接、发送数据等进行封装由客户端来调用。这样由客户端去组织数据,而我们的协议处理只是一个被调用方就行了。因为这只是一个测试程序,还不是真正的应用,因此可能就不讲究了。真正做成客户端,可能程序都要改了。既然我们不想发送太快,queue完全可以采用阻塞方式来处理。 >>>>>>>> >>>>>>>>======= 2004-08-01 14:31:17 您在来信中写道:======= >>>>>>>> >>>>>>>>>limodou,您好! >>>>>>>>> >>>>>>>>> 这点我直到但是程序还是依赖一个全局变量,对于复杂的情况,这种用法是不好的,首先明显得会带来名字空间的污染,其次如果程序执行的上下文关系复杂,那么也就不是几个全局变量能轻松解决的. >>>>>>>>> >>>>>>>>> >>>>>>>>>======= 2004-08-01 14:07:21 您在来信中写道:======= >>>>>>>>> >>>>>>>>>>hoxide,您好! >>>>>>>>>> >>>>>>>>>> 其实不丢message也可以,这样不用使用生成器。只要把message生成放到else中就行了。因为那时是可以发送数据的。之所以丢是因为先生成了message,然后才判断是否可以发送,如果不能发送自然就丢了。如果改到可以发送才生成message就不会丢了。 >>>>>>>>>> >>>>>>>>>> while nownum < count: >>>>>>>>>> if self.factory.sendQueue.full(): >>>>>>>>>> self.call = reactor.callLater(0, self.testserver) >>>>>>>>>> return >>>>>>>>>> else: >>>>>>>>>> message = usspmsg.USSPMessage() #* >>>>>>>>>> message.setMsgName('mail_counter') #* >>>>>>>>>> message.body.setField('uid',str(nownum)) #* 这几行移下来了 >>>>>>>>>> self.factory.sendQueue.put_nowait(message) >>>>>>>>>> nownum += 1 >>>>>>>>>> >>>>>>>>>>======= 2004-08-01 12:19:47 您在来信中写道:======= >>>>>>>>>> >>>>>>>>>>>HD,您好! >>>>>>>>>>> >>>>>>>>>>>大家最好先了解一下生成器的有关知识:IBM上的《可爱的 >>>>>>>>>>>Python:迭代器和简单生成器》: >>>>>>>>>>>http://www-900.ibm.com/developerWorks/cn/linux/sdk/python/charm-20/index.shtml >>>>>>>>>>> >>>>>>>>>>>昨天给的代码还有点错误,修改的代码(其实只改了打星号的地方): >>>>>>>>>>> >>>>>>>>>>> def testserver(self): >>>>>>>>>>> """向服务器发的测试报文""" >>>>>>>>>>> try: >>>>>>>>>>> self.pp.next() >>>>>>>>>>> self.call = reactor.callLater(0,self.testserver) >>>>>>>>>>> return >>>>>>>>>>> except StopIteration: >>>>>>>>>>> pass >>>>>>>>>>> >>>>>>>>>>> def __init__(self): >>>>>>>>>>> self.pp=self.sendQQ() >>>>>>>>>>> ussp.USSClientQueueProtocol.__init__(self) >>>>>>>>>>> >>>>>>>>>>> def sendQQ(self): >>>>>>>>>>> global nownum >>>>>>>>>>> global count >>>>>>>>>>> i=1 >>>>>>>>>>> while i < count: >>>>>>>>>>> message = usspmsg.USSPMessage() >>>>>>>>>>> message.setMsgName('mail_counter') >>>>>>>>>>> message.body.setField('uid',str(i)) >>>>>>>>>>> while self.factory.sendQueue.full(): #* >>>>>>>>>>> yield None #** >>>>>>>>>>> self.factory.sendQueue.put_nowait(message) >>>>>>>>>>> i += 1 >>>>>>>>>>> nownum=i >>>>>>>>>>> self.disconnect() >>>>>>>>>>> >>>>>>>>>>>这里真正的处理是在sendQQ这个函数定义的.self.pp是生成器的实例,由__init__()生成,testserver只是调度完成这个处理的函数,而且是和具体的处理独立的,他只是简单得实现了当处理"暂停"后的重新启动. >>>>>>>>>>> >>>>>>>>>>>真正神奇的地方是打星号的行.他测试sendQueue确定是否能发出message,如果不能就会执行yield >>>>>>>>>>>None,这时函数就终止在**这行,直到在有.next()方法调用时再从这句开始执行. >>>>>>>>>>>这个好处是原来的处理流程可以很顺利得进行.不需要保存中间变量.注意0731a的testserver能正确得发出所有message,是因为恰巧有全局变量nownum完全确定处理的执行状态了.但事事上一般的处理不会那么简单,有复杂的状态组合(上面的代码并没用nownum,而是用了循环变量i,注意他不是全局的!!!!!).正像zoomq昨天说的0731a的testserver在queue满的时候前面对message的处理就被抛弃了,但在这个生成器版本,先前对message的处理没有被抛弃. >>>>>>>>>>> >>>>>>>>>>>个人觉得这个生成器版本还是不够完美,异步传输还是应该以线程为基础进行.下一个版本可能是基于生成器的简单线程:) >>>>>>>>>>> >>>>>>>>>>>说得不是很明白,我不清楚大家对什么地方有疑问. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>===== 2004-08-01 00:33:08 您在来信中写道:======= >>>>>>>>>>> >>>>>>>>>>>>细说说,为什么说是生成器版的呢? >>>>>>>>>>>> >>>>>>>>>>>>On Sat, 31 Jul 2004 23:22:53 +0800, hoxide >>>>>>>>>>>><hoxide_dirac at yahoo.com.cn> wrote: >>>>>>>>>>>>> python-chinese,您好! >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> 为什么要用生成器,现在的testserver的执行流程只依赖于nownum,而事实上通常的服务要依赖于整个运行流程.另外这样的写法可将窗口部分的代码抽出. >>>>>>>>>>>>> >>>>>>>>>>>>> 致 >>>>>>>>>>>>> 礼! >>>>>>>>>>>>> >>>>>>>>>>>>> hoxide >>>>>>>>>>>>> hoxide_dirac at yahoo.com.cn >>>>>>>>>>>>> 2004-07-31 >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>-- >>>>>>>>>>>>HD(燃烧中的火) >>>>>>>>>>>>我工作我快乐,我勤奋我收获。请与我一起快乐,与我一起收获。 >>>>>>>>>>>>_______________________________________________ >>>>>>>>>>>>python-chinese list >>>>>>>>>>>>python-chinese at lists.python.cn >>>>>>>>>>>>http://python.cn/mailman/listinfo/python-chinese >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>= = = = = = = = = = = = = = = = = = = = >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> 致 >>>>>>>>>>>礼! >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> hoxide >>>>>>>>>>> hoxide_dirac at yahoo.com.cn >>>>>>>>>>> 2004-08-01 >>>>>>>>>>> >>>>>>>>>>>_______________________________________________ >>>>>>>>>>>python-chinese list >>>>>>>>>>>python-chinese at lists.python.cn >>>>>>>>>>>http://python.cn/mailman/listinfo/python-chinese >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>>= = = = = = = = = = = = = = = = = = = = >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> 致 >>>>>>>>>>礼! >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> limodou >>>>>>>>>> chatme at 263.net >>>>>>>>>> 2004-08-01 >>>>>>>>>> >>>>>>>>>>_______________________________________________ >>>>>>>>>>python-chinese list >>>>>>>>>>python-chinese at lists.python.cn >>>>>>>>>>http://python.cn/mailman/listinfo/python-chinese >>>>>>>>>> >>>>>>>>> >>>>>>>>>= = = = = = = = = = = = = = = = = = = = >>>>>>>>> >>>>>>>>> >>>>>>>>> 致 >>>>>>>>>礼! >>>>>>>>> >>>>>>>>> >>>>>>>>> hoxide >>>>>>>>> hoxide_dirac at yahoo.com.cn >>>>>>>>> 2004-08-01 >>>>>>>>> >>>>>>>>>_______________________________________________ >>>>>>>>>python-chinese list >>>>>>>>>python-chinese at lists.python.cn >>>>>>>>>http://python.cn/mailman/listinfo/python-chinese >>>>>>>>> >>>>>>>> >>>>>>>>= = = = = = = = = = = = = = = = = = = = >>>>>>>> >>>>>>>> >>>>>>>> 致 >>>>>>>>礼! >>>>>>>> >>>>>>>> >>>>>>>> limodou >>>>>>>> chatme at 263.net >>>>>>>> 2004-08-01 >>>>>>>> >>>>>>>>_______________________________________________ >>>>>>>>python-chinese list >>>>>>>>python-chinese at lists.python.cn >>>>>>>>http://python.cn/mailman/listinfo/python-chinese >>>>>>>> >>>>>>> >>>>>>>= = = = = = = = = = = = = = = = = = = = >>>>>>> >>>>>>> >>>>>>> 致 >>>>>>>礼! >>>>>>> >>>>>>> >>>>>>> hoxide >>>>>>> hoxide_dirac at yahoo.com.cn >>>>>>> 2004-08-01 >>>>>>> >>>>>>>_______________________________________________ >>>>>>>python-chinese list >>>>>>>python-chinese at lists.python.cn >>>>>>>http://python.cn/mailman/listinfo/python-chinese >>>>>>> >>>>>> >>>>>>= = = = = = = = = = = = = = = = = = = = >>>>>> >>>>>> >>>>>> 致 >>>>>>礼! >>>>>> >>>>>> >>>>>> limodou >>>>>> chatme at 263.net >>>>>> 2004-08-01 >>>>>> >>>>>>_______________________________________________ >>>>>>python-chinese list >>>>>>python-chinese at lists.python.cn >>>>>>http://python.cn/mailman/listinfo/python-chinese >>>>>> >>>> >>>>info at xichen.com> = = = = = = = = = = = = = = = = = = = = >>>> >>>> >>>>info at xichen.com> 致 >>>>info at xichen.com> 礼! >>>> >>>> >>>>info at xichen.com> info >>>>info at xichen.com> info at xichen.com >>>>info at xichen.com> 2004-08-02 >>>> >>>> >>>> >>>>********************************************/ >>>> >>>>-- >>>>Free as in Freedom >>>> >>>> Zoom.Quiet >>>> >>>>#=========================================# >>>>]Time is unimportant, only life important![ >>>>#=========================================# >>>> >>>>sender is the Bat!2.12.00 >>>> >>>>_______________________________________________ >>>>python-chinese list >>>>python-chinese at lists.python.cn >>>>http://python.cn/mailman/listinfo/python-chinese >>> >>>= = = = = = = = = = = = = = = = = = = = >>> >>> >>> 致 >>>礼! >>> >>> >>> hoxide >>> hoxide_dirac at yahoo.com.cn >>> 2004-08-02 >>> >>>_______________________________________________ >>>python-chinese list >>>python-chinese at lists.python.cn >>>http://python.cn/mailman/listinfo/python-chinese >>> >> >>= = = = = = = = = = = = = = = = = = = = >> >> >> 致 >>礼! >> >> >> limodou >> chatme at 263.net >> 2004-08-02 >> >>_______________________________________________ >>python-chinese list >>python-chinese at lists.python.cn >>http://python.cn/mailman/listinfo/python-chinese >> > >= = = = = = = = = = = = = = = = = = = = > > > 致 >礼! > > > hoxide > hoxide_dirac at yahoo.com.cn > 2004-08-02 > >_______________________________________________ >python-chinese list >python-chinese at lists.python.cn >http://python.cn/mailman/listinfo/python-chinese = = = = = = = = = = = = = = = = = = = = 致 礼! hoxide hoxide_dirac at yahoo.com.cn 2004-08-02
2004年08月02日 星期一 20:23
Xiao Xin,您好! 和昨天晚上的讨论的窗口版有什么区别?我机器上测到的还是2300条/秒. ======= 2004-08-02 19:26:44 您在来信中写道:======= >效果不错,大家试试,我们测得基本稳定在3850条/秒以上 >-- > 可爱的小新 >_______________________________________________ >python-chinese list >python-chinese at lists.python.cn >http://python.cn/mailman/listinfo/python-chinese > = = = = = = = = = = = = = = = = = = = = 致 礼! hoxide hoxide_dirac at yahoo.com.cn 2004-08-02
2004年08月02日 星期一 20:24
Liming_Do,您好! 哦~~~~~~~那就算了.我只是提出一种可能性 ======= 2004-08-02 20:18:34 您在来信中写道:======= >hoxide,您好, >我不能直接上网,只能用代理,刚才连了一下,不支持socks。 > > >-----原始邮件----- >发件人: python-chinese-bounces at lists.python.cn >[mailto:python-chinese-bounces at lists.python.cn]代表 hoxide >发送时间: 2004年8月2日 20:04 >收件人: python-chinese at lists.python.cn >主题: Re: 答复: Re: Re: Re[9]: _[python-chinese]_一个生成器版本的ussc.py > > >Liming_Do,您好! > > news.newsfan.net > >======= 2004-08-02 18:35:37 您在来信中写道:======= > >>hoxide 您好 >> >>你说的这个新闻组的地址是多少? >> >>-----原始邮件----- >>发件人: python-chinese-bounces at lists.python.cn >>[mailto:python-chinese-bounces at lists.python.cn]代表 hoxide >>发送时间: 2004年8月2日 17:45 >>收件人: python-chinese at lists.python.cn >>主题: Re: Re: Re: Re[9]: _[python-chinese]_一个生成器版本的ussc.py >> >> >>limodou,您好! >> >> news是可以对主题进行分类的,有点像bbs,但个人感觉比bbs还好. >> >>======= 2004-08-02 17:47:09 您在来信中写道:======= >> >>>hoxide,您好! >>> >>> news与maillist有多大的区别?我看差不多。 >>> >>>======= 2004-08-02 17:26:02 您在来信中写道:======= >>> >>>>Zoom.Quiet,您好! >>>> >>>> 偶们可以到newsfans新闻组讨论阿,我发了开版申请,但那里的老大说,暂时先到perl组,以后他们确认人多了再单独开一个. >>>> >>>>======= 2004-08-02 16:41:33 您在来信中写道:======= >>>> >>>>>Hollo info: >>>>> >>>>> 大家都感觉现在的 列表,知识的查询非常困难,那未,将讨论出来的有效知识固定下来,成为文章,为后来者作个准备,实为一大德政是也乎! >>>>>请关注 >>>>>http://220.248.2.35:7080/moin/RecentChanges >>>>>Wiki 更新记录 >>>>> >>>>>今天在 PyUSS 页面组织了: >>>>> >>>>>基准代码/benchmarks >>>>>-- 测试平台; 演化,UML设计等等 >>>>> >>>>>相关知识 >>>>>收集整理开发过程中大家发现,使用,迷惑的知识点,包括基础的东西是也乎 >>>>> >>>>> FAQnetwork -- TCP/IP;UCP...... >>>>> PyThread -- 线程编程 >>>>> PyOptimize -- Python 代码优化经验收集! >>>>> >>>>>请同志们继续学习,共享经验! >>>>> >>>>>/******** [2004-08-02]16:30:37 ; info wrote: >>>>> >>>>>info at xichen.com> limodou,您好! >>>>> >>>>>info at xichen.com> 用twisted写的服务器端本身就处理的多线程,这个大家可以用我们做测试的例子来试。 >>>>>info at xichen.com> >>>>>info at xichen.com> 对于客户端来讲,除非是传输文件本身,没有必要采用多线程。 >>>>>info at xichen.com> >>>>>info at xichen.com> 我的意见是,达到本期的产品基线,然后用最稳定、最简洁的方式来实现。 >>>>> >>>>>info at xichen.com> ======= 2004-08-01 16:50:58 您在来信中写道:======= >>>>> >>>>>>>hoxide,您好! >>>>>>> >>>>>>> 的确,整个程序只有一个线程,那么这种异步都通过twisted来完成,的确象queue这种阻塞方式就无法实现了。多线程,多点测试才更符合实际。 >>>>>>> >>>>>>> >>>>>>>======= 2004-08-01 15:28:13 您在来信中写道:======= >>>>>>> >>>>>>>>limodou,您好! >>>>>>>> >>>>>>>> 开始我们也尝试过用queue的阻塞处理,但这样就阻塞了主线程,连recive都不行. >>>>>>>>这个问题的根本解决方案还是用线程,我只是提供一种类似的东西("轻便线程"http://www-900.ibm.com/developerWorks/cn/linux/sdk/python/) >>>>>>>>另外我觉得应该建一个多连接的测试程序,而不只是一个连接多请求的测试程序. >>>>>>>>而窗口应该放在服务端比较好一点 >>>>>>>> >>>>>>>>======= 2004-08-01 14:54:55 您在来信中写道:======= >>>>>>>> >>>>>>>>>hoxide,您好! >>>>>>>>> >>>>>>>>> 其实真正的数据发送是由客户端做的,我们可以把连接、发送数据等进行封装由客户端来调用。这样由客户端去组织数据,而我们的协议处理只是一个被调用方就行了。因为这只是一个测试程序,还不是真正的应用,因此可能就不讲究了。真正做成客户端,可能程序都要改了。既然我们不想发送太快,queue完全可以采用阻塞方式来处理。 >>>>>>>>> >>>>>>>>>======= 2004-08-01 14:31:17 您在来信中写道:======= >>>>>>>>> >>>>>>>>>>limodou,您好! >>>>>>>>>> >>>>>>>>>> 这点我直到但是程序还是依赖一个全局变量,对于复杂的情况,这种用法是不好的,首先明显得会带来名字空间的污染,其次如果程序执行的上下文关系复杂,那么也就不是几个全局变量能轻松解决的. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>======= 2004-08-01 14:07:21 您在来信中写道:======= >>>>>>>>>> >>>>>>>>>>>hoxide,您好! >>>>>>>>>>> >>>>>>>>>>> 其实不丢message也可以,这样不用使用生成器。只要把message生成放到else中就行了。因为那时是可以发送数据的。之所以丢是因为先生成了message,然后才判断是否可以发送,如果不能发送自然就丢了。如果改到可以发送才生成message就不会丢了。 >>>>>>>>>>> >>>>>>>>>>> while nownum < count: >>>>>>>>>>> if self.factory.sendQueue.full(): >>>>>>>>>>> self.call = reactor.callLater(0, self.testserver) >>>>>>>>>>> return >>>>>>>>>>> else: >>>>>>>>>>> message = usspmsg.USSPMessage() #* >>>>>>>>>>> message.setMsgName('mail_counter') #* >>>>>>>>>>> message.body.setField('uid',str(nownum)) #* 这几行移下来了 >>>>>>>>>>> self.factory.sendQueue.put_nowait(message) >>>>>>>>>>> nownum += 1 >>>>>>>>>>> >>>>>>>>>>>======= 2004-08-01 12:19:47 您在来信中写道:======= >>>>>>>>>>> >>>>>>>>>>>>HD,您好! >>>>>>>>>>>> >>>>>>>>>>>>大家最好先了解一下生成器的有关知识:IBM上的《可爱的 >>>>>>>>>>>>Python:迭代器和简单生成器》: >>>>>>>>>>>>http://www-900.ibm.com/developerWorks/cn/linux/sdk/python/charm-20/index.shtml >>>>>>>>>>>> >>>>>>>>>>>>昨天给的代码还有点错误,修改的代码(其实只改了打星号的地方): >>>>>>>>>>>> >>>>>>>>>>>> def testserver(self): >>>>>>>>>>>> """向服务器发的测试报文""" >>>>>>>>>>>> try: >>>>>>>>>>>> self.pp.next() >>>>>>>>>>>> self.call = reactor.callLater(0,self.testserver) >>>>>>>>>>>> return >>>>>>>>>>>> except StopIteration: >>>>>>>>>>>> pass >>>>>>>>>>>> >>>>>>>>>>>> def __init__(self): >>>>>>>>>>>> self.pp=self.sendQQ() >>>>>>>>>>>> ussp.USSClientQueueProtocol.__init__(self) >>>>>>>>>>>> >>>>>>>>>>>> def sendQQ(self): >>>>>>>>>>>> global nownum >>>>>>>>>>>> global count >>>>>>>>>>>> i=1 >>>>>>>>>>>> while i < count: >>>>>>>>>>>> message = usspmsg.USSPMessage() >>>>>>>>>>>> message.setMsgName('mail_counter') >>>>>>>>>>>> message.body.setField('uid',str(i)) >>>>>>>>>>>> while self.factory.sendQueue.full(): #* >>>>>>>>>>>> yield None #** >>>>>>>>>>>> self.factory.sendQueue.put_nowait(message) >>>>>>>>>>>> i += 1 >>>>>>>>>>>> nownum=i >>>>>>>>>>>> self.disconnect() >>>>>>>>>>>> >>>>>>>>>>>>这里真正的处理是在sendQQ这个函数定义的.self.pp是生成器的实例,由__init__()生成,testserver只是调度完成这个处理的函数,而且是和具体的处理独立的,他只是简单得实现了当处理"暂停"后的重新启动. >>>>>>>>>>>> >>>>>>>>>>>>真正神奇的地方是打星号的行.他测试sendQueue确定是否能发出message,如果不能就会执行yield >>>>>>>>>>>>None,这时函数就终止在**这行,直到在有.next()方法调用时再从这句开始执行. >>>>>>>>>>>>这个好处是原来的处理流程可以很顺利得进行.不需要保存中间变量.注意0731a的testserver能正确得发出所有message,是因为恰巧有全局变量nownum完全确定处理的执行状态了.但事事上一般的处理不会那么简单,有复杂的状态组合(上面的代码并没用nownum,而是用了循环变量i,注意他不是全局的!!!!!).正像zoomq昨天说的0731a的testserver在queue满的时候前面对message的处理就被抛弃了,但在这个生成器版本,先前对message的处理没有被抛弃. >>>>>>>>>>>> >>>>>>>>>>>>个人觉得这个生成器版本还是不够完美,异步传输还是应该以线程为基础进行.下一个版本可能是基于生成器的简单线程:) >>>>>>>>>>>> >>>>>>>>>>>>说得不是很明白,我不清楚大家对什么地方有疑问. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>===== 2004-08-01 00:33:08 您在来信中写道:======= >>>>>>>>>>>> >>>>>>>>>>>>>细说说,为什么说是生成器版的呢? >>>>>>>>>>>>> >>>>>>>>>>>>>On Sat, 31 Jul 2004 23:22:53 +0800, hoxide >>>>>>>>>>>>><hoxide_dirac at yahoo.com.cn> wrote: >>>>>>>>>>>>>> python-chinese,您好! >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> 为什么要用生成器,现在的testserver的执行流程只依赖于nownum,而事实上通常的服务要依赖于整个运行流程.另外这样的写法可将窗口部分的代码抽出. >>>>>>>>>>>>>> >>>>>>>>>>>>>> 致 >>>>>>>>>>>>>> 礼! >>>>>>>>>>>>>> >>>>>>>>>>>>>> hoxide >>>>>>>>>>>>>> hoxide_dirac at yahoo.com.cn >>>>>>>>>>>>>> 2004-07-31 >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>>-- >>>>>>>>>>>>>HD(燃烧中的火) >>>>>>>>>>>>>我工作我快乐,我勤奋我收获。请与我一起快乐,与我一起收获。 >>>>>>>>>>>>>_______________________________________________ >>>>>>>>>>>>>python-chinese list >>>>>>>>>>>>>python-chinese at lists.python.cn >>>>>>>>>>>>>http://python.cn/mailman/listinfo/python-chinese >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>= = = = = = = = = = = = = = = = = = = = >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> 致 >>>>>>>>>>>>礼! >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> hoxide >>>>>>>>>>>> hoxide_dirac at yahoo.com.cn >>>>>>>>>>>> 2004-08-01 >>>>>>>>>>>> >>>>>>>>>>>>_______________________________________________ >>>>>>>>>>>>python-chinese list >>>>>>>>>>>>python-chinese at lists.python.cn >>>>>>>>>>>>http://python.cn/mailman/listinfo/python-chinese >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>= = = = = = = = = = = = = = = = = = = = >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> 致 >>>>>>>>>>>礼! >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> limodou >>>>>>>>>>> chatme at 263.net >>>>>>>>>>> 2004-08-01 >>>>>>>>>>> >>>>>>>>>>>_______________________________________________ >>>>>>>>>>>python-chinese list >>>>>>>>>>>python-chinese at lists.python.cn >>>>>>>>>>>http://python.cn/mailman/listinfo/python-chinese >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>>= = = = = = = = = = = = = = = = = = = = >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> 致 >>>>>>>>>>礼! >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> hoxide >>>>>>>>>> hoxide_dirac at yahoo.com.cn >>>>>>>>>> 2004-08-01 >>>>>>>>>> >>>>>>>>>>_______________________________________________ >>>>>>>>>>python-chinese list >>>>>>>>>>python-chinese at lists.python.cn >>>>>>>>>>http://python.cn/mailman/listinfo/python-chinese >>>>>>>>>> >>>>>>>>> >>>>>>>>>= = = = = = = = = = = = = = = = = = = = >>>>>>>>> >>>>>>>>> >>>>>>>>> 致 >>>>>>>>>礼! >>>>>>>>> >>>>>>>>> >>>>>>>>> limodou >>>>>>>>> chatme at 263.net >>>>>>>>> 2004-08-01 >>>>>>>>> >>>>>>>>>_______________________________________________ >>>>>>>>>python-chinese list >>>>>>>>>python-chinese at lists.python.cn >>>>>>>>>http://python.cn/mailman/listinfo/python-chinese >>>>>>>>> >>>>>>>> >>>>>>>>= = = = = = = = = = = = = = = = = = = = >>>>>>>> >>>>>>>> >>>>>>>> 致 >>>>>>>>礼! >>>>>>>> >>>>>>>> >>>>>>>> hoxide >>>>>>>> hoxide_dirac at yahoo.com.cn >>>>>>>> 2004-08-01 >>>>>>>> >>>>>>>>_______________________________________________ >>>>>>>>python-chinese list >>>>>>>>python-chinese at lists.python.cn >>>>>>>>http://python.cn/mailman/listinfo/python-chinese >>>>>>>> >>>>>>> >>>>>>>= = = = = = = = = = = = = = = = = = = = >>>>>>> >>>>>>> >>>>>>> 致 >>>>>>>礼! >>>>>>> >>>>>>> >>>>>>> limodou >>>>>>> chatme at 263.net >>>>>>> 2004-08-01 >>>>>>> >>>>>>>_______________________________________________ >>>>>>>python-chinese list >>>>>>>python-chinese at lists.python.cn >>>>>>>http://python.cn/mailman/listinfo/python-chinese >>>>>>> >>>>> >>>>>info at xichen.com> = = = = = = = = = = = = = = = = = = = = >>>>> >>>>> >>>>>info at xichen.com> 致 >>>>>info at xichen.com> 礼! >>>>> >>>>> >>>>>info at xichen.com> info >>>>>info at xichen.com> info at xichen.com >>>>>info at xichen.com> 2004-08-02 >>>>> >>>>> >>>>> >>>>>********************************************/ >>>>> >>>>>-- >>>>>Free as in Freedom >>>>> >>>>> Zoom.Quiet >>>>> >>>>>#=========================================# >>>>>]Time is unimportant, only life important![ >>>>>#=========================================# >>>>> >>>>>sender is the Bat!2.12.00 >>>>> >>>>>_______________________________________________ >>>>>python-chinese list >>>>>python-chinese at lists.python.cn >>>>>http://python.cn/mailman/listinfo/python-chinese >>>> >>>>= = = = = = = = = = = = = = = = = = = = >>>> >>>> >>>> 致 >>>>礼! >>>> >>>> >>>> hoxide >>>> hoxide_dirac at yahoo.com.cn >>>> 2004-08-02 >>>> >>>>_______________________________________________ >>>>python-chinese list >>>>python-chinese at lists.python.cn >>>>http://python.cn/mailman/listinfo/python-chinese >>>> >>> >>>= = = = = = = = = = = = = = = = = = = = >>> >>> >>> 致 >>>礼! >>> >>> >>> limodou >>> chatme at 263.net >>> 2004-08-02 >>> >>>_______________________________________________ >>>python-chinese list >>>python-chinese at lists.python.cn >>>http://python.cn/mailman/listinfo/python-chinese >>> >> >>= = = = = = = = = = = = = = = = = = = = >> >> >> 致 >>礼! >> >> >> hoxide >> hoxide_dirac at yahoo.com.cn >> 2004-08-02 >> >>_______________________________________________ >>python-chinese list >>python-chinese at lists.python.cn >>http://python.cn/mailman/listinfo/python-chinese > >= = = = = = = = = = = = = = = = = = = = > > > 致 >礼! > > > hoxide > hoxide_dirac at yahoo.com.cn > 2004-08-02 > >_______________________________________________ >python-chinese list >python-chinese at lists.python.cn >http://python.cn/mailman/listinfo/python-chinese = = = = = = = = = = = = = = = = = = = = 致 礼! hoxide hoxide_dirac at yahoo.com.cn 2004-08-02
Zeuux © 2024
京ICP备05028076号