def __dispatch(addr, port, msg):
"""
worker
:param addr:
:param port:
:param msg: list (thread obj, message, return value)
:return:
"""
print 'opening socket'
clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
clientsocket.settimeout(2)
try:
clientsocket.connect((addr, port))
except:
msg[2] = "couldn't connect to socket"
return
print 'sending'
n = clientsocket.sendall(msg[1])
clientsocket.shutdown(socket.SHUT_WR)
print 'sent', n
buffer = ""
while(1):
buf = clientsocket.recv(1024)
if len(buf) > 0:
buffer += buf
else:
print 'received %d bytes'%len(buffer)
msg[2] = buffer
break
clientsocket.close()
print 'done'
评论列表
文章目录