[socket] Daten werden falsch übertragen
-
Hallo
Haber Server/Client anwendung mit select beim server.
Mein problem: Wenn ich versuch dies zu senden:
"Hallo ich bin ein client"dan empfängt der server folgendes:
"Halloichbineinclient"also ohne leerzeichen...
-
Ich glaube nicht, dass die Daten falsch übertragen werden.
-
jo... hast du ne gegenvorschlag?
Hier mal die wichtigsten schlüsselstellen://CLIENT: char ch[1024]; scanf("%s",&ch); write(socket,&ch,strlen(ch)); //SERVER: char ch[1024]; read(socket,&ch,sizeof(ch)); printf(ch);
-
Pack mal nach den scanf ein printf rein, ob Du überhaupt die richtigen Daten liest.
-
ausserdem wird mit send(.. strlen()) die abschließende 0 nicht mitgesendet...
-
Es liegt am senden.
Wenn ich anstatt strlen einfach 1024 eingeb, dann wird zwar gesendet, ABER:
jedes wort einzelnt! Also bekomme 2 read anfragen von einem senden.
-
razy_stefan schrieb:
ABER:
jedes wort einzelnt!Könnte daran liegen, dass Du jedes Wort einzelnd einliesst...
-
Hi - es lag an scanf mit fgets klappt es wunderbar!