`

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系列教程-中文

    Twisted系列教程中文简介 Twisted是一个基于Python的异步网络编程库,提供了一个灵活的架构来处理异步I/O操作。该教程将从基础开始,逐步深入Twisted的世界,帮助读者了解异步编程的思想和Twisted的使用方法。 ...

    twisted适合python3.8版本

    Twisted是Python编程语言中的一个开源网络框架,专注于异步编程和事件驱动的网络应用开发。这个框架在Python社区中广泛使用,特别是对于构建高性能、高并发的服务器端应用程序。标题提到"twisted适合python3.8版本...

    Twisted与异步编程入门

    【Twisted与异步编程入门】是一篇关于Python中Twisted框架和异步编程的教程。Twisted是一个强大的网络应用框架,特别适用于处理复杂的异步编程需求。文章首先强调了理解异步编程模型的重要性,指出只有深入理解模型...

    twisted whl安装包 v 17.9.0包含python2.7-3.7

    标题中的“twisted whl安装包 v 17.9.0包含python2.7-3.7”指的是Twisted库的一个特定版本——17.9.0,它以wheel(whl)格式提供,适用于Python 2.7到3.7的不同版本。在Python的生态系统中,whl是一种预编译的二进制...

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

    Twisted 是一个强大的开源Python网络编程框架,专为异步编程设计。这个压缩包文件包含了Twisted的历史各版本,对于那些需要旧版本Twisted的开发者来说尤其有价值,因为官方已经停止提供旧版本的直接下载。 在Python...

    Python Twisted-22.10.0-py3-none-any

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

    Twisted-17.1.0-cp36-cp36m-win_amd64.whl

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

    Twisted-17.9.0-cp36-cp36m-win_amd64

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

    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-19.2.1-cp37-cp37m-win_amd64(官方文件).zip

    标签"Twisted-19.2.1-c Twisted Python" 提到了两个关键点:"Twisted"是Python的一个开源网络编程框架,用于创建异步、事件驱动的网络应用,广泛应用于服务器端编程,包括网络协议、并发处理、服务器开发等。...

    Twisted系列教程.pdf

    ### Twisted系列教程知识点概述 #### 第一部分:Twisted理论基础 - **前言**:这一部分主要介绍了Twisted框架的背景以及对于那些寻求快速入门的读者来说,Twisted可能并非是一个简单易学的选择。作者指出,对于希望...

    twisted, vitualc++ 包

    标题中的“twisted, virtualc++ 包”指的是与Python编程语言相关的两个关键组件:Twisted框架和Visual C++编译器。Twisted是Python的一个网络应用框架,它提供了大量用于编写异步网络代码的库,包括服务器和客户端。...

    twisted入门教程源码

    **Twisted 框架详解** Twisted 是一个开源的 Python 网络编程框架,专为异步网络编程设计,广泛应用于网络服务、客户端、协议实现和并发处理。其核心设计围绕事件驱动模型,使得开发者可以编写高性能、高并发的网络...

    Python Twisted网络编程框架(中文)

    ### Python Twisted网络编程框架知识点解析 #### 一、引言 Twisted 是一个非常强大的异步编程框架,主要用于Python中的网络编程。该框架能够帮助开发者轻松地构建高性能的网络应用,包括但不限于客户端和服务端应用...

    Twisted系列教程 的中文翻译

    Twisted是Python语言中一个非常重要的网络编程框架,其核心理念在于提供一个事件驱动模型以实现异步编程。本系列教程是对Twisted框架的详细介绍,从基础理论到实际应用,逐步引导读者入门并深入理解Twisted的各种...

    Twisted适配python3.5

    标题中的"Twisted适配python3.5"指的是Python编程中的一个关键问题,即Twisted框架与Python 3.5版本的兼容性。Twisted是一个用Python编写的事件驱动网络编程库,广泛用于异步网络服务,如网络客户端、服务器、协议...

    Twisted事件驱动网络框架

    **Twisted事件驱动网络框架详解** Twisted是一个强大的开源Python库,主要用于构建异步网络应用程序。这个框架基于事件驱动的设计模式,使得它非常适合处理大量并发连接,尤其在服务器端编程中,可以高效地处理I/O...

    twisted 异步教程 中文版

    Twisted 是一个开源的事件驱动编程框架,它主要用Python语言编写,并被广泛用于网络协议的实现和异步编程。在Twisted框架中,Reactor模式是实现异步编程的核心组件,它是对观察者模式的实现,能够响应并处理不同类型...

Global site tag (gtag.js) - Google Analytics