Russian Qt Forum

Qt => Работа с сетью => Тема начата: Noise от Август 21, 2009, 10:49



Название: Tcp
Отправлено: Noise от Август 21, 2009, 10:49
Помогите мне считать из QDataStream данные длинной length. Я не знаю какого они типа, а знаю пока только длинну!
Как я понимаю это будет данные типа QDataStream, но не знаю как скопировать только нужные мне данные, длинное length!
Данные будут переданны в стек и обрабатывать их будет отдельный поток.


   QTcpSocket* pClientSocket = (QTcpSocket*)sender();
   QDataStream in(pClientSocket);
   in.setVersion(QDataStream::Qt_4_2);
   for (;;)
   {
      if (!length)
      {
         if (pClientSocket->bytesAvailable() < 4)
         {
            break;
         }
         in >> chanel  >> length;
      }
      if (pClientSocket->bytesAvailable() < length)
      {
         break;
      }
      \\ вод здесь мне нужно поставить в очередь на обработку!
      length = 0;


Название: Re: Tcp
Отправлено: Rcus от Август 21, 2009, 11:07
readRawData, но если length типа quint32, то проще использовать перегрузку оператора для QByteArray


Название: Re: Tcp
Отправлено: Noise от Август 21, 2009, 11:32
спасибо так и сделаю ;-)!