Russian Qt Forum
Ноябрь 22, 2024, 23:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Запись сокета из разных потоков  (Прочитано 12889 раз)
dead_vip
Гость
« Ответ #15 : Октябрь 27, 2011, 17:13 »

почему нельзя то? смотри ответ #9.
я че зря писал? че ты ничего не понял?
в такой реализации пиши себе на здоровье в сокет.
По-моему я в полной мере ответил в посте #10. Да так можно сделать, но меня интересует возможно ли сделать иначе: сокет создается в основном потоке, сигнал readyRead ловится тоже в основном потоке, в слоте onReadyRead создается поток, который должен записать в сокет, который уже создан, отработать и уничтожиться, не закрывая сокет... почему так сделать нельзя?
Записан
andrew.k
Гость
« Ответ #16 : Октябрь 27, 2011, 17:43 »

можно. почему нельзя?
нельзя из функции run.
можно попробовать moveToThread.
но придется каждый раз двигать туда-сюда.
и наверное не получится)

а вообще это то же самое, что удалять гланды через жопу.
я понимаю, что это лаба, но все таки.
если поток нужен,чтобы обработать данные, пусть их и обрабатывает. писать должен тот, кто создал сокет.
Записан
andrew.k
Гость
« Ответ #17 : Октябрь 27, 2011, 17:44 »

двигать наверное можно пока сокет не открыт.
Записан
dead_vip
Гость
« Ответ #18 : Октябрь 28, 2011, 17:43 »

баловство это все. даже чисто для понимания - не поймешь ничего толком, когда реализация на задаче смотрится примерно как на корове седло. хочешь разобраться - напиши в свободное время какой-нибудь более нагруженный сервер, например, файлы клиентам раздающий. тогда плюсы и минусы каждого решения прочувствуешь на себе.
Самый дельный совет оказался =) Оказывается, вызывать методы сокета действительно можно только в том потоке, где он создан, делать иначе не получится. Все мой педантизм... дальше будет лаба ftp-сервер, раздающий файлы.

Спасибо всем за ответы.
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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