irc.py 文件源码

python
阅读 48 收藏 0 点赞 0 评论 0

项目:joinmarket-clientserver 作者: JoinMarket-Org 项目源码 文件源码
def build_irc(self):
        """The main starting method that creates a protocol object
        according to the config variables, ready for whenever
        the reactor starts running.
        """
        wlog('building irc')
        if self.tx_irc_client:
            raise Exception('irc already built')
        if self.usessl.lower() == 'true' and not self.socks5.lower() == 'true':
            factory = TxIRCFactory(self)
            ctx = ClientContextFactory()
            reactor.connectSSL(self.serverport[0], self.serverport[1],
                               factory, ctx)
        elif self.socks5.lower() == 'true':
            factory = TxIRCFactory(self)
            #str() casts needed else unicode error
            torEndpoint = TCP4ClientEndpoint(reactor, str(self.socks5_host),
                                             self.socks5_port)
            ircEndpoint = SOCKS5ClientEndpoint(str(self.serverport[0]),
                                               self.serverport[1], torEndpoint)
            if self.usessl.lower() == 'true':
                ctx = ClientContextFactory()
                tlsEndpoint = TLSWrapClientEndpoint(ctx, ircEndpoint)
                myRS = ClientService(tlsEndpoint, factory)
                myRS.startService()
            else:
                myRS = ClientService(ircEndpoint, factory)
                myRS.startService()
        else:
            try:
                factory = TxIRCFactory(self)
                wlog('build_irc: ', self.serverport[0], self.serverport[1],
                     self.channel)
                self.tcp_connector = reactor.connectTCP(
                        self.serverport[0], self.serverport[1], factory)
            except Exception as e:
                wlog('error in buildirc: ' + repr(e))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号