大量のデータを受信しようとすると途切れてしまい、残りのデータを取得するには Enter キーを押す必要があります。最初は少し増やすことができましたが、まだすべてを受け取ることはできません。ご覧のとおり、conn.recv() のバッファーを増やしましたが、まだすべてのデータを取得していません。それはある時点でそれを遮断します。残りのデータを受け取るには、raw_input で 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()