`

twisted

阅读更多


client端
#!/usr/bin/python
#  -*- coding: utf-8 -*-

from twisted.internet import reactor, protocol


class EchoClient(protocol.Protocol):

    #建立连接后调用的事件
    def connectionMade(self):
        #把数据输出到服务器端
        self.transport.write(bytes("hello dongxu!","utf8"))

    #连接建立有数据接收到的时候会调用的方法
    def dataReceived(self, data):
        #打印收到的数据
        print("Server said:", data.decode("utf8"))
        #客户端主动关闭掉连接
        self.transport.loseConnection()

    #连接关闭掉后调用的方法
    def connectionLost(self, reason):
        print("connection lost")

#protocol的ClientFactory
class EchoFactory(protocol.ClientFactory):

    protocol = EchoClient

    #当服务端或者网络原因连接失败的时候
    def clientConnectionFailed(self, connector, reason):
        print("Connection failed - goodbye!")
        reactor.stop()

    #正常断开连接的时候调用的方法
    def clientConnectionLost(self, connector, reason):
        print("Connection lost - goodbye!")
        #停止reactor事件
        reactor.stop()


def main():
    f = EchoFactory()
    #与localhost 1234端口建立连接
    reactor.connectTCP("localhost", 1234, f)
    reactor.run()

if __name__ == '__main__':
    main()



server端

#!/usr/bin/python
#  -*- coding: utf-8 -*-

from twisted.internet import protocol
from twisted.internet import reactor


class Echo(protocol.Protocol):
    def dataReceived(self, data):
        self.transport.write(data)

def main():
    factory = protocol.ServerFactory()
    factory.protocol = Echo

    #监听1234端口 建立TCP连接
    reactor.listenTCP(1234,factory)
    reactor.run()

if __name__ == '__main__':
    main()
分享到:
评论

相关推荐

    Twisted系列教程.pdf

    第一部分:Twisted理论基础 第二部分:异步编程初探与reactor模式 第三部分:初步认识Twisted 第四部分:由Twisted支持的诗歌客户端 第一个twisted支持的诗歌服务器 第一滴心血 第五部分:由Twisted支持的诗歌...

    Twisted Network Programming Essentials 2nd Edition

    Twisted Network Programming Essentials 2nd Edition BOOK DESCRIPTION Get started with Twisted, the event-driven networking framework written in Python. With this introductory guide, you’ll learn the...

    Twisted与异步编程入门

    Twisted与异步编程入门,最好的入门资源。

    Twisted Network Programming Essentials, 2nd Edition

    This book is about Twisted, an open source, event-driven networking engine written in Python. Twisted supports many common transport and application layer protocols, including TCP, UDP, SSL/TLS, HTTP,...

    Twisted-17.1.0-cp36-cp36m-win_amd64.whl

    Twisted是用Python实现的基于事件驱动的网络引擎框架。Twisted诞生于2000年初,在当时的网络游戏开发者看来,无论他们使用哪种语言,手中都鲜有可兼顾扩展性及跨平台的网络库。Twisted的作者试图在当时现有的环境下...

    twisted最新linux版本 安装scrapy时缺少版本

    安装步骤 tar -jxvf Twisted-17.5.0.tar.bz2 cd Twisted-17.5.0 python setup.py install

    Twisted-20.3.0-cp38-cp38

    如果安装scrapy过程中出现异常 building 'twisted.test.raiser' extension error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": ...

    Twisted-18.9.0-cp36-cp36m-win32.whl, Microsoft Visual C++ 14.0集成python用包

    解决Python3.6中安装y一些包时出现错误:error: Microsoft Visual C++ 14.0 is required....按照提示需要安装C++14.0的一个库,但此库总的有很...在包的放置路径下,执行pip install Twisted-18.9.0-cp36-cp36m-win32.whl

    【批量下载】Twisted-历史各版本.zip

    Twisted 现在网上对旧版本已经停止下载了,把以前的备份放上,是独立安装包WHL 需要pip install wheel 更新一下

    Python Twisted-22.10.0-py3-none-any

    Twisted是用Python实现的基于事件驱动的网络引擎框架。Twisted诞生于2000年初,在当时的网络游戏开发者看来,无论他们使用哪种语言,手中都鲜有可兼顾扩展性及跨平台的网络库。Twisted的作者试图在当时现有的环境下...

    Twisted-19.10.0-cp38-cp38.rar

    Twisted是用于Internet应用程序的基于事件的框架,支持Python 2.7和Python 3.5+。它包括用于许多不同目的的模块,其中包括: twisted.web:HTTP客户端和服务器,HTML模板和WSGI服务器 twisted.conch:SSHv2和...

    Twisted-17.9.0-cp36-cp36m-win_amd64

    Twisted是用Python实现的基于事件驱动的网络引擎框架。Twisted诞生于2000年初,在当时的网络游戏开发者看来,无论他们使用哪种语言,手中都鲜有可兼顾扩展性及跨平台的网络库。Twisted的作者试图在当时现有的环境下...

    Python twisted教程

    最近有人在twisted邮件列表中问有没有一个可以让人快速学习twisted的文档.总体的来说:这个系列不是这样的一个文档.如果你没有很多时间或者耐心的话,这个系列的文章不太适合你. 不过,如果你对异步编程了解很少的话,...

    Twisted-17.5.0-cp36-cp36m-win32.whl

    python3.6 爬虫 window 直接命令行安装 Twisted-17.5.0-cp36-cp36m-win32.whl python3.6 爬虫 window 直接命令行安装 Twisted-17.5.0-cp36-cp36m-win32.whl python3.6 爬虫 window 直接命令行安装 Twisted-17.5.0-...

    Twisted-16.3.0.tar.bz2

    Twisted

    twisted入门教程源码

    Twisted Info Twisted入门教程源码

    Twisted-13.1.0.win32-py2.7

    Twisted是一个事件驱动的python网络框架被所有类型的软件使用。

    Twisted-17.9.0-cp35-cp35m-win_amd64.whl

    Twisted python3.5 Twisted python3.5 Twisted python3.5 Twisted python3.5 Twisted python3.5 Twisted-17.9.0-cp35-cp35m-win_amd64.whl Twisted-17.9.0-cp35-cp35m-win_amd64.whl Twisted-17.9.0-cp35-cp35m-win_...

    Twisted Network Programming Essentials

    Twisted Network Programming Essentials,一本介绍socket异步编程框架twisted

Global site tag (gtag.js) - Google Analytics