博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python编程(基于twisted的client编程)
阅读量:5858 次
发布时间:2019-06-19

本文共 1214 字,大约阅读时间需要 4 分钟。

【 声明:版权全部,欢迎转载。请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

    python的twisted比較有意思,既能够做server方面的编程,也能够做client方面的编程。关于这方面的编程。最简单的样例就是echo。

    client 代码例如以下,

#!/usr/bin/pythonfrom twisted.internet.protocol import Protocol, ClientFactoryfrom sys import stdoutfrom twisted.internet import reactorclass Echo(Protocol):	def dataReceived(self, data):		stdout.write(data) class EchoClientFactory(ClientFactory):	def startedConnecting(self, connector):		print 'Started to connect.'   	def buildProtocol(self, addr):		print 'Connected.'		return Echo()   	def clientConnectionLost(self, connector, reason):		print 'Lost connection. Reason:', reason		def clientConnectionFailed(self, connector, reason):		print 'Connection failed. Reason:', reasonif __name__ == '__main__':	reactor.connectTCP('localhost', 1234, EchoClientFactory())	reactor.run()

    server 代码例如以下,

#!/usr/bin/pythonfrom twisted.internet import protocol, reactor, endpointsclass Echo(protocol.Protocol):    def dataReceived(self, data):        self.transport.write(data)class EchoFactory(protocol.Factory):    def buildProtocol(self, addr):        return Echo()if __name__ == '__main__':    endpoints.serverFromString(reactor, "tcp:1234").listen(EchoFactory())    reactor.run()

你可能感兴趣的文章
Spring - @Autowired与@Resource
查看>>
正向代理和反向代理
查看>>
windows7关闭被占用的端口
查看>>
怎样降低rsync的io磁盘占用,如何减少rsync主服务器的io占用
查看>>
如何防止文件被备份到iCloud 和iTunes?
查看>>
CentOS6.5 Nginx搭建web服务器,实现平滑升级,虚拟主机及访问控制
查看>>
Logrotate使用
查看>>
“软”负载均衡学习点滴(三)
查看>>
spring利用javamail,quartz定时发送邮件
查看>>
[体感游戏]关于体感游戏的一些思考(七) --- “我是泰山,你是简?”
查看>>
2.K8S部署-------- 制作CA证书
查看>>
10步让你成为更优秀的程序员
查看>>
Getting Your Feet Wet with the SWT StyledText W...
查看>>
linux coredump配置及其调试出core文件
查看>>
EOF在linux和window系统中
查看>>
我的友情链接
查看>>
log4j日志输出配置
查看>>
Java代码格式规范个人推荐(带范例)
查看>>
说一说那些我也不太懂的 Raft 协议
查看>>
IPTV技术介绍
查看>>