Problem bei Verbindung

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
waki
User
Beiträge: 133
Registriert: Dienstag 9. März 2010, 16:41

Hey,
habe ein kleines programm, welches per socket-verbindung daten austauscht. Nun habe ich das Prolbem, dass wenn ich am anfang einer funktion schreibe:

Code: Alles auswählen

Server
f = socket.recv(1024)
g = socket.recv(1024)

Client
socket.send("test")
socket.send("test2")]
funktioniert das super, f ist dann "test" und g "test2"...

jedoch wenn ich nach einigen send und recv das wieder machen will, ist f "testtest2" und g "". Kann ich das irgendwie umgehen, ich weiß sonst nicht wie ich die daten korrekt getrennt versenden kann.

Danke schonmal ;)

gruß
BlackJack

@waki: Du musst Dir ein Protokoll ausdenken und implementieren, welches die Daten eindeutig trennen kann. Also entweder etwas was die Daten eindeutig gegeneinander abgrenzt aber nicht innerhalb der (Nutz)Daten selbst vorkommen kann, oder die Länge der Daten (mit einer festen/bekannten Länge) vor den Daten übertragen. Beim Empfänger kannst Du dann nicht einfach `recv()` aufrufen, sondern musst das in ein Objekt kapseln das dafür sorgt, dass immer ein kompletter Datensatz pro Aufruf zurückgegeben wird.
Antworten