replace send with sendall

This commit is contained in:
clowwindy 2012-12-16 00:47:46 +08:00
parent c40ac987af
commit 3960e6495e
2 changed files with 16 additions and 4 deletions

View file

@ -54,10 +54,16 @@ class Socks5Server(SocketServer.StreamRequestHandler):
while True:
r, w, e = select.select(fdset, [], [])
if sock in r:
if remote.send(self.encrypt(sock.recv(4096))) <= 0:
data = sock.recv(4096)
if data <= 0:
break
if remote.sendall(self.encrypt(data)) is not None:
break
if remote in r:
if sock.send(self.decrypt(remote.recv(4096))) <= 0:
data = remote.recv(4096)
if data <= 0:
break
if sock.sendall(self.decrypt(data)) is not None:
break
finally:
sock.close()

View file

@ -54,10 +54,16 @@ class Socks5Server(SocketServer.StreamRequestHandler):
while True:
r, w, e = select.select(fdset, [], [])
if sock in r:
if remote.send(self.decrypt(sock.recv(4096))) <= 0:
data = sock.recv(4096)
if data <= 0:
break
if remote.sendall(self.decrypt(data)) is not None:
break
if remote in r:
if sock.send(self.encrypt(remote.recv(4096))) <= 0:
data = remote.recv(4096)
if data <= 0:
break
if sock.sendall(self.encrypt(data)) is not None:
break
finally:
sock.close()