serwer QT, write

0

Cześć :)
Mamy sobie klienta, który wysyła strumień bajtów do serwera.
Wiadomo, że pierwsze dwa bajty to rozmiar pozostałego strumienia.
Czy dobrze rozumiem, że przy odbieraniu połączenia odbieram dwa pierwsze bajty z gniazda i potem pobieram z gniazda tak długo, aż nie pobiorę całości?

Bo np. ja serializuję obiekt i pierwszym polem tego obiektu jest właśnie rozmiar, zatem nie wiem, jak napisać operator >>

0

while(true) {
if (tcpSocket->bytesAvailable() < 4) {
break;
}

Fragment Twojego kodu.
Jak mogę to poprawić, bo załóżmy sytuację, że ktoś wysłał więcej niż cztery bajty, wtedy wieczna pętla

1 użytkowników online, w tym zalogowanych: 0, gości: 1