datei senden
-
hallo,
ich habe ein Problem:
ich versende folgendermaßen alle 10 sekunden eine datei:ifstream file(szScreenName, ios::binary ); file.seekg( 0, ios::end ); unsigned length = file.tellg(); file.seekg( 0, ios::beg ); char *buffer = new char[length]; file.read( &buffer[0], length ); // und ab damit if(send(s, (const char*)&length, sizeof(length), 0) == SOCKET_ERROR) { MessageBox(0, TEXT("Konnte die Länge nicht senden!"), szAppName, MB_ICONERROR); return 1; } if(send(s, &buffer[0], length, 0) == SOCKET_ERROR) { MessageBox(0, TEXT("Konnte Datei nicht senden!"), szAppName, MB_ICONERROR); return 1; } return 0;der code wird alle 10 sekunden aufgerufen. Unter windows XP funktioniert das durchgängig. Unter Vista jedoch läuft das programm so 2 Minuten und dann kommen keine dateien mehr an (paar minuten jedoch schon)
vielleicht braucht ihr noch das recv am server?recv(connectedSocket, (char *)&length, sizeof(length), 0); //länge char *buffer = RecvData(connectedSocket, length); //screen //hier die RecvData Funktion char* RecvData( SOCKET s, unsigned bytes ) { unsigned bytes_read = 0; static char tempBuff[9000000]; unsigned r; while ( bytes_read != bytes ) { r = recv( s, tempBuff+bytes_read, bytes-bytes_read, 0 ); // Grad keine Daten zum empfangen da? if ( r==-1 && WSAGetLastError()==WSAEWOULDBLOCK ) Sleep( 20 ); // Fehler bzw Verbindung geschlossen? else if ( r <= 0 ) return false; else bytes_read += r; } return tempBuff; }also wie gesagt unter windows xp läuft das perfekt aber unter vista nur so halb^^ zielpc ist xp falls das wichtig ist
Wäre super wenn mir wer helfen könnte!
Danke
-
*extrem wichtigen thread push*
-
Die Pusherei nützt hier nichts, da ist ein Spambot, der Dich gleich wieder überpusht.
Übrigens sollte es reichen, wenn Du auf eine Antwort wartest. Wenn es jemand weiß, wird er sich schon melden.
-
ich sehe ein new[] aber kein delete[]...
wahrscheinlich geht dir das memory aus oder sowas...
Simon
-
hey danke für den Tipp!
Das könnte natürlich sein, nur dann würde es unter xp ja auch nicht gehen oder
-
4091send schrieb:
hey danke für den Tipp!
Das könnte natürlich sein, nur dann würde es unter xp ja auch nicht gehen oderAber Unterschiede im Verhalten könnten durchaus resultieren.
Simon