Russian Qt Forum

Qt => Работа с сетью => Тема начата: dmitriym от Июль 03, 2014, 10:44



Название: Многопоточный WebSocket сервер
Отправлено: dmitriym от Июль 03, 2014, 10:44
В Qt 5.3 появилась поддержка протокола WebSocket. Начал разбираться и хочу сделать WebSocket сервер. Неужели не поддерживается многопоточности для WebSocket?


Название: Re: Многопоточный WebSocket сервер
Отправлено: navrocky от Июль 03, 2014, 11:09
Ну да, в документации есть только одно упоминание потоков:

Цитировать
Note: The returned QWebSocket object cannot be used from another thread.

Остается только попробовать сделать полученному сокету moveToThread и проверить на баги.
Ну или сам сервер создать в потоке, тогда хотя-бы с гуем они пересекаться не будут.


Название: Re: Многопоточный WebSocket сервер
Отправлено: dmitriym от Июль 03, 2014, 11:18
Я проверял - при переносе сокета в другой поток прием сообщений идет нормальный, а отсылка не происходит. Перенос в отдельный поток сервера не совсем то, что я  хотел. Я хотел сделать каждому клиенту свой поток, потому что обработка запросов может быть ресурсозатратная. В итоге сделаю 1 поток для общения со всеми клиентами, а обработку задач разнесу по  многим потокам. Лучшего варианта пока не вижу.