Prog schliest nach 3 eingaben
-
Hi leute
void Datenempfangen ( void *ch ){ char compare[200] = "."; char dateiname [] = "C:/Dokumente und Einstellungen ... Datei.txt"; fstream ausgabe ; ausgabe.open (dateiname,ios::out | ios::app); //ausgabe << "TEST 2"; while(rc!=SOCKET_ERROR){ if (!(strcmp(buf,compare))==0){ rc=recv(s,buf,256,0); buf[rc]='\0'; ausgabe << "\n" << buf; strcpy(compare,buf); } /*else { cout << "break"; ausgabe << "break"; break; }*/ } ausgabe.close(); _endthread(); }dieser code gehört du einen client den ich geschrieben habe dieser teil soll eine nachricht vom server empfangen und wenn sie nicht der vorherigen nachricht entspricht in eine datei schreiben (vll weis ja jmd warum ich vom server immer nachrichten empfange wo nichts drin steht! ich hab meinen server keine stelle wo ich solche nachrichten schreibe) aber warum schließt sich der client oder server (das weis ich nicht genau) nach der dritten nachricht? wenn ich diese else schleife hinzufüge führt er diese nach der ersten eingabe aus und bearbeitet dann keine anderen nachrichten mehr!
ich hoffe ihr habts verstanden wenn nicht bitte nachfragen
wenn ihr mehr code braucht bitte sagen
albert
-
if (!(strcmp(buf,compare))==0)Da hast du dich vertippt. Es sollte wohl
if (strcmp(buf,compare)!==0)heißen.