bitcoinnode.py 文件源码

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

项目:bitcoin-random-oracle 作者: chr15m 项目源码 文件源码
def run(self):
        while not self.e_stop.isSet():
            self.last_sent = 0
            self.state = "idle"

            self.state = "connecting"

            print "connecting %s" % self.dstaddr
            self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            try:
                self.socket.settimeout(120)
                self.socket.connect((self.dstaddr, self.dstport))
            except:
                self.handle_close()

            self.handle_connect()

            epoll = select.epoll()
            epoll.register(self.socket.fileno(), select.EPOLLIN)

            while self.state != "closed":
                if self.e_stop.isSet():
                    break

                events = epoll.poll(timeout=1)
                for fd, ev in events:
                    if ev & select.EPOLLIN:
                        self.handle_read()
                    elif ev & select.EPOLLHUP:
                        self.handle_close()

                self.handle_write()

            self.handle_close()

            if not self.e_stop.isSet():
                time.sleep(5)
                print "reconnect"
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号