当我尝试接收大量的数据时,它被切断,我必须按回车键来获得剩余的数据。起初我能够增加它一点点,但它仍然不会收到它的全部。正如您所看到的,我已经增加了 conn.recv ()上的缓冲区,但是它仍然不能获取所有的数据。它会在某个时间点切断它。我必须在原始输入上按 Enter 才能接收其余的数据。有没有什么办法可以让我一次性得到所有的数据?这是密码。
port = 7777
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(('0.0.0.0', port))
sock.listen(1)
print ("Listening on port: "+str(port))
while 1:
conn, sock_addr = sock.accept()
print "accepted connection from", sock_addr
while 1:
command = raw_input('shell> ')
conn.send(command)
data = conn.recv(8000)
if not data: break
print data,
conn.close()