创建一个tcp连接

创建步骤

调用reactor.connetcTCP()方法打开一个TCP连接,传递一个ClientFactory对象作为第三个参数。ClientFactory对象等待连接被建立,然后创建一个Protocol对象来管理连接中的数据流。

相关接口介绍

connectTCP
返回一个提供Iconnector的连接器对象,当连接被创建/失败/丢失时,这个连接器将在factory调用各种回调。

def connectTCP(host, port, factory, timeout=30, bindAddress=None): 
    host        一个ip地址
    port        端口号
    factory     一个twisted.internet.protocol.ClientFactory的实例
    timeout     等待时间
    bindAddress (主机,端口)元组绑定到本地地址,或者为None

listenTCP
连接一个给定的协议工厂到给定数字TCP/IP端口。

def listenTCP(port, factory, backlog=50, interface=''): 
    port        一个监听端口
    factory     一个twisted.internet.protocol.ServerFactory 实例
    backlog     监听队列的大小
    interface   
    Returns     一个提供监听端口的对象

例子

该例子展示了如何在电脑和Internet之间建立一个连接(www.baidu.com)

//connected.py
from twisted.internet import reactor,protocol

class QuickDisconnectProtocol(protocol.Protocol):
    def connectionMade(self):
        print"Connected to %s."%self.transport.getPeer().host
        self.transport.loseConnection()

class BasicClientFactory(protocol.ClientFactory):
    protocol = QuickDisconnectProtocol
    def clientConnectionLost(self, connector, reason):
        print"Lost connection:%s"%reason.getErrorMessage()
        reactor.stop()

def clientConnectionFailed(self, connector, reason):
        print"connection failed:%s"%reason.getErrorMessage()
        reactor.stop()

reactor.connectTCP('www.baidu.com', 80, BasicClientFactory())
reactor.run()

执行python connection.py,出现如下结果,则成功
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值