def _receive_master(self):
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# incase 'Address already in use error'
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind(('',self._s_port))
LOG.debug('listen on port:%d'%self._s_port)
s.listen(1)
sock, addr=s.accept()
LOG.debug('receive from master host...')
buff=''
while True:
d=sock.recv(4096)
buff+=d
if d.find('__EOF__')!=-1:
break
sock.send('ack')
sock.close()
s.close()
# cut off last __EOF__
buff=buff[:-7]
# return to origin args
buff=buff.replace('__EOF___','__EOF__')
return buff
评论列表
文章目录