crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Поблема с записью в сокет
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
vaansk Дата 15.10.2013, 21:44
  как вручную разбивать на пакеты?
Iron Bug Дата 15.10.2013, 20:54
  это может быть системным ограничением. например, в венде по умолчанию 5 секунд на пакет. меняется это значение в реестре:
http://support.microsoft.com/kb/170359
вообще, большие пакеты не есть хорошо: они тормозят работу всей системы.
AD Дата 15.10.2013, 20:44
 
Цитата(vaansk @ 15.10.2013, 21:39) *
tcp, не broadcast

А какую ошибку выдает? Попробуйте посмотреть ошибку сокета, что выдал QTcpSocket.
vaansk Дата 15.10.2013, 20:39
  tcp, не broadcast
AD Дата 15.10.2013, 19:55
  Сокет UDP или TCP? Передача broadcast или нет? Поподробнее опишите проблему.
vaansk Дата 15.10.2013, 19:50
  опечатался, естественно

if (!clientSocket->waitForBytesWritten())
{...
vaansk Дата 15.10.2013, 16:18
  Добрый день, есть QbyteArray, который я пытаюсь передать по сокету:

Серверная часть:
  QbyteArray sbuff;
  ...
  clientSocket->write(sbuff, sbuff.size());
  if (clientSocket->waitForBytesWritten())
  {
    qDebug() << "Time Limit";
  }


При этом sbuff.size() равен примерно 22000 и всегда процесс приходит в Time Limit, как бы я не изменял параметр в скобках waitForBytesWritten()
По идее 22000 не так уж и много, может нужно как-то по другому записывать?

Если кидаю маленькие sbuff, то все нормально доходит и клиент принимает.

Вот прием клиента:
QByteArray recvbuff = socket->readAll();


Прошу помощи
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 10.7.2025, 7:07