network.py 文件源码

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

项目:heartbreaker 作者: lokori 项目源码 文件源码
def handle_accept(self):
        pair = self.accept()
        if pair is None:
            pass
        else:
            client_sock, addr = pair
            domain, srv_host, srv_port = self.dst
            if srv_port == 0:
                dst=client_sock.getsockopt(socket.SOL_IP, 80, 16)
                srv_port, srv_ip = struct.unpack("!2xH4s8x", dst)
                srv_host = socket.inet_ntoa(srv_ip)

            client_sock = self.prepare_sock(client_sock, srv_host)
            print 'Incoming connection from %s' % repr(addr)
            print 'Outgoing connection to %s:%d' %(srv_host, srv_port)

            server_sock = create_bound_socket(self.proto,self.bindaddr,True)

            server_sock=self.prepare_sock(server_sock)
            self.prepare_sock(server_sock)

            try:
                server_sock.connect((srv_host, srv_port))
            except Exception,e:
                print "Connection failed"
                client_sock.close()
                server_sock.close()
                return
            self.client=self.NetworkEndpoint(client_sock, config=self.config)
            self.server=self.NetworkEndpoint(server_sock, config=self.config)
            self.server.meet(self.client)
            self.handle_connection()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号