Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Why using quint16 or quint32 in QDataStream ?

Why using quint16 or quint32 in QDataStream ?

Scheduled Pinned Locked Moved General and Desktop
2 Posts 2 Posters 2.7k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    amir734jj
    wrote on last edited by
    #1

    This is very simple program that act as client of QDataStream which I found this online

    I am wondering can someone explain why they used blockSize which is quint16 ?

    @ void Client::request()
    {
    this->blockSize = 0;//unsigned short
    this->socket->abort();//clear buffer
    this->socket->connectToServer(this->hostLineEdit->text());
    }

    void Client::read()
    {
    QDataStream input(socket);

     if (blockSize == 0) {
         if (socket->bytesAvailable() < (int)sizeof(quint16))
             return;
         input >> blockSize;
     }
    

    ....
    }@

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi,

      Base on my experience: because the maximal size of data they will send can be stored in a quint16 and so the client will know how much data it will receive so it can wait to have it all before processing it.

      Hope it helps

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved