Ich habe ein Problem. Ich sende einen Befehl an einen IL-2 Dedicated Server und möchte die komplette Antwort. Leider funktioniert das nicht so, wie ich will. Die Frage stelle ich weiter unten!

Die Ausgabe soll lauten:
So, über Möglichkeit 1 bekomme ich nur die erste Zeile, obwohl ich die Buffergröße auf 10240 gestellt habe?? alias ban channel chat console
del difficulty exit extraocclusion f file
help history host kick kick# maxping
mission mp_dotrange param server set show
socket speedbar timeout tod user
\u0020? alias ban channel chat console \n
Code: Alles auswählen
#!/usr/bin/python
import sys
from socket import *
SERVER_PORT = 21010
BUFSIZE = 10240
def main():
host = "62.75.219.146"
msg = "help\n"
s = socket(AF_INET, SOCK_STREAM)
s.connect((host, SERVER_PORT))
s.send(msg)
data = s.recv(BUFSIZE)
print "Daten: %s" % (data)
s.close()
if __name__ == '__main__':
main()
\u0020? alias ban channel chat console \n
\u0020del difficulty exit extraocclusion f file \n
\u0020help history host kick kick# maxping \n
\u0020mission mp_dotrange param server set show \n
\u0020socket speedbar timeout tod user \n
<consoleN><86>
Code: Alles auswählen
#!/usr/bin/python
import sys
from socket import *
SERVER_PORT = 21010
BUFSIZE = 1
def main():
host = "62.75.219.146"
msg = "help\n"
s = socket(AF_INET, SOCK_STREAM)
s.connect((host, SERVER_PORT))
s.send(msg)
data = ""
while True:
data = s.recv(BUFSIZE)
sys.stdout.write(data)
if not data: break
s.close()
if __name__ == '__main__':
main()
So, jetzt meine Frage:
Warum bekomme ich bei M1 nicht alles? Ich habe eine Buffergröße, die die Ausgabe aus jeden Fall komplett darstellen sollte. Bei M2 allerdings bekomme ich den ganzen Stream. Warum ist das so?
Und Warum steht da noch \u0020 und \n? Ich habe sogar Zeilenumbrüche, nur eben das wird nicht in einen Zeilenumbruch gewandelt.