Russian Qt Forum
Июнь 16, 2024, 05:21 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 2 [3]   Вниз
  Печать  
Автор Тема: Передача файлов по сети  (Прочитано 16328 раз)
DmP
Гость
« Ответ #30 : Ноябрь 11, 2010, 11:12 »

Так, смотрим дальше:
Код:
for (;;) {
        if (!blockSize) {
            if (TcpSocket->bytesAvailable() < sizeof(quint16)) {
                break;
            }
            in >> blockSize;
        }

        if (TcpSocket->bytesAvailable() < blockSize) {
            break;
        }
        in >> str;
        blockSize = 0;
    }
Получается, чуть что не так, посылаем все подальше, а кто будет ждать прихода сообщения? А если оно вообще частями будет идти?
Записан
virtual_root
Гость
« Ответ #31 : Ноябрь 11, 2010, 20:32 »

Спасибо вам!  Проблема как-то,но разрешилась. Теперь сообщения передаются в обе стороны,но почему-то именно первое сообщение не доходит... последующее приходит. И почему-то они как-то долго идут..я секунд 5-7 жду! Почему такое происходит??

P.S. Смотрела пример QT (network-chat), там всё замечательно) быстро сообщения приходят,не надо не каких портов и IP- адресов указывать. Я пытаюсь на основе его разобраться и написать что-то похожее. Там как я поняла широковещательный канал используется, но пока я до этого не дошла, не совсем понимаю каким именно образом он работает. Буду очень рада,если вы мне поможете,подскажите где я что-то не не так понимаю и почему в моей маленькой программке сообщения передаются странным образом,а иногда и вообще не доходят...(((

Решила  сразу  всю программу выложить.
Записан
DmP
Гость
« Ответ #32 : Ноябрь 11, 2010, 22:36 »

Все таки следует перечитать мое предыдущее сообщение - в коде логическая ошибка на которую я и указал, она не исправлена.
Далее следует почитать документацию, например, как работают в QAbstractSocket ф-ции connectToHost() и write().
Так же, наверное, не следует на каждую отправку сообщения серверу создавать новое соединение.
Записан
Страниц: 1 2 [3]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.039 секунд. Запросов: 17.