使用twisted实现Python客户端
来源:互联网 发布:三阶矩阵的逆矩阵公式 编辑:程序博客网 时间:2024/05/24 04:05
前面介绍了服务端框架,客户端中的代码可以复用其package.py和dispatch.py.
服务端方面一般是控制台运行,可是客户端大部分都是带ui的.
这里分别介绍
1.console
客户端启动 main.py
这里的PyConfigure不做介绍
from config import *from tcp import *def main():#[0] load configure json cfg = PyConfigure( "cfg.json" ) host = cfg.get_value( "host" ) port = cfg.get_value( "port" )#[1] connect server factory = PyClientFactory() try: reactor.connectTCP( host, port, factory ) reactor.run() except: print "connect server error."if __name__ == '__main__': main()客户端实现 tcp.py
from twisted.internet.protocol import ClientFactory, Protocolfrom twisted.protocols.basic import LineReceiverfrom twisted.internet import reactorfrom twisted.internet.endpoints import TCP4ClientEndpointimport sysimport structfrom dispatch import *class PyTcpClient( Protocol ): def __init__( self ): self.dispatcher = PyDispatcher( self ) def connectionMade( self ): print "login" def connectionLost( self, reason ): print "connection lost" def dataReceived( self, data ): print "receive:", data self.dispatcher.dispatch( data ) def dataSend( self, data ): print data self.transport.write( data )class PyClientFactory( ClientFactory ): protocol = PyTcpClient def clientConnectionFailed( self, connector, reason ): print 'connection failed:', reason.getErrorMessage() reactor.stop() def clientConnectionLost( self, connector, reason ): print 'connection lost:', reason.getErrorMessage() reactor.stop()ok,这样就可以工作了.不过代码不够简洁.
2.ui
其实比较简单:把
reactor.run()放到线程里面.
在下面结合pyQT4给出具体代码.
- 使用twisted实现Python客户端
- 使用twisted实现Python服务器
- python笔记-Twisted 实现简单的服务器客户端程序
- twisted入门教程之十三:使用Deferred新功能实现新客户端
- 使用twisted.python.log日志
- python在twisted中实现二进制数据
- python实现网络编程 之Twisted框架
- python twisted
- Python Twisted
- python Twisted
- windows python twisted下载 安装 使用
- Python使用Twisted总结 异步编程
- Python使用Twisted总结 缓慢的诗
- Python安装Twisted框架并使用
- Python网络框架Twisted的使用
- python编程(基于twisted的客户端编程)
- 使用Twisted实现一个简单Web服务器
- twisted入门教程之八:使用Deferred的诗歌下载客户端
- mysql存入小数自动转化成整数的问题
- web.xml加载过程
- Linux世界开启传送门4-预备第3天
- qq项目第五天(实现好友在线判断)
- LCD 基本知识
- 使用twisted实现Python客户端
- 贪心算法(greedy algorithm)
- 第九章 – 图像局部与分割 – 背景场景和分割前景目标的方法(平均背景法)(例程待实现)
- 互联网应用上线后,别忘记实现部署这些运维监控脚本
- Linux世界开启传送门4-预备第4天
- qsort源码
- java传值和传引用
- 用例执行顺序缺陷
- poj 2777 Count Color