Передача данных в отдельном потоке. Сервер не успевает обработать данные. |
Здравствуйте, гость ( Вход | Регистрация )
Передача данных в отдельном потоке. Сервер не успевает обработать данные. |
kibsoft |
16.4.2010, 0:25
Сообщение
#21
|
Участник Группа: Участник Сообщений: 180 Регистрация: 21.7.2009 Из: Самара Пользователь №: 928 Спасибо сказали: 14 раз(а) Репутация: 2 |
Сделал, чтобы просто байты отсылались без всяких структур типа QByteArray, но в сокет(tcpSocket->write(bytes) пишется меньше данных чем было прочитано в bytes.. ПРобовал flush() - не помогает, из-за чего такое может быть? |
|
|
BRE |
16.4.2010, 7:07
Сообщение
#22
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Посмотри эту тему, там я выкладывал архивы с тестовым проектом, передающим файл:
http://www.forum.crossplatform.ru/index.ph...c=4296&st=0 |
|
|
kibsoft |
16.4.2010, 19:14
Сообщение
#23
|
Участник Группа: Участник Сообщений: 180 Регистрация: 21.7.2009 Из: Самара Пользователь №: 928 Спасибо сказали: 14 раз(а) Репутация: 2 |
Посмотри эту тему, там я выкладывал архивы с тестовым проектом, передающим файл: http://www.forum.crossplatform.ru/index.ph...c=4296&st=0 Спасибо! Под себя немного переделал, все работает! И последний вопрос, но не о программировании: какими частями лучше передавать файл (сколько байт), если ориентироваться на LAN-сеть? Или 64Кб нормально как в вашем коде? |
|
|
BRE |
16.4.2010, 19:19
Сообщение
#24
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Спасибо! Под себя немного переделал, все работает! И последний вопрос, но не о программировании: какими частями лучше передавать файл (сколько байт), если ориентироваться на LAN-сеть? Или 64Кб нормально как в вашем коде? Стек TCP сам будет этим рулить, в зависимости от пропускной способности. Смысл чтения по частям больше в том, что бы не загружать большие файлы в память сразу. |
|
|
kibsoft |
16.4.2010, 19:28
Сообщение
#25
|
Участник Группа: Участник Сообщений: 180 Регистрация: 21.7.2009 Из: Самара Пользователь №: 928 Спасибо сказали: 14 раз(а) Репутация: 2 |
Цитата Стек TCP сам будет этим рулить, в зависимости от пропускной способности. Понятно. Цитата Смысл чтения по частям больше в том, что бы не загружать большие файлы в память сразу. Да, это я знал Нарушу правила, не буду создавать новую тему:
В run() я запускаю цикл событий exec(), но явно сам его не завершаю, но все-таки после передачи файла объект(fileSender) сам уничтожается (вывел на консоль из деструктора). Это мне не мешает, но я просто не пойму почему он завершается? |
|
|
Litkevich Yuriy |
16.4.2010, 19:37
Сообщение
#26
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
BRE |
16.4.2010, 19:39
Сообщение
#27
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Без кода я затрудняюсь ответить.
|
|
|
kibsoft |
16.4.2010, 19:46
Сообщение
#28
|
Участник Группа: Участник Сообщений: 180 Регистрация: 21.7.2009 Из: Самара Пользователь №: 928 Спасибо сказали: 14 раз(а) Репутация: 2 |
|
|
|
Текстовая версия | Сейчас: 23.4.2024, 9:40 |