def handle(self):
DST_ADDR, DST_PORT=self.server.remote_address
logging.debug("forwarding local addr %s to remote %s "%(self.server.server_address, self.server.remote_address))
rsocket_mod=self.server.rpyc_client.conn.modules.socket
rsocket=rsocket_mod.socket(rsocket_mod.AF_INET, rsocket_mod.SOCK_STREAM)
rsocket.settimeout(5)
try:
rsocket.connect((DST_ADDR, DST_PORT))
except Exception as e:
logging.debug("error: %s"%e)
if e[0]==10060:
logging.debug("unreachable !")
self.request.shutdown(socket.SHUT_RDWR)
self.request.close()
return
logging.debug("connection succeeded !")
sp1=SocketPiper(self.request, rsocket)
sp2=SocketPiper(rsocket, self.request)
sp1.start()
sp2.start()
sp1.join()
sp2.join()
logging.debug("conn to %s:%s closed"%(DST_ADDR,DST_PORT))
评论列表
文章目录