Название: Отсылка сообщения нескольким клиентам Отправлено: h3rm1t от Июнь 18, 2010, 12:07 Здравствуйте. Реализую простенький многопоточный сервер с помошью QThread(одно подключение - один поток, знаю что так не правильно, но пока оставлю так). И мне нужно, чтобы при подключении нового клиента, время подключения и его ip передавались другим подключенным клиентам. Вопрос в том как правильно сообщить всем потокам , что появились новые данные.
Название: Re: Отсылка сообщения нескольким клиентам Отправлено: kibsoft от Июнь 18, 2010, 14:29 Цитировать знаю что так не правильно Почему не правильно?Threaded Fortune Server Example посмотри. Чтобы всем отослать, нужно где-то хранить информацию обо все юзерах(можно указатели на thread), i.e. QList. Соответственно посылку делать через сигналы/слоты (Qt::QueuedConnection), иначе будет ругаться. Название: Re: Отсылка сообщения нескольким клиентам Отправлено: garryHotDog от Июнь 18, 2010, 14:54 Цитировать Почему не правильно? Это не актуально при большом количестве клиентов!!!Цитировать И мне нужно, чтобы при подключении нового клиента, время подключения и его ip передавались другим подключенным клиентам. Вопрос в том как правильно сообщить всем потокам , что появились новые данные. Можешь сделать у каждого клиента слот типа slot_hasNewConnection(quin32 ip,quin16 port,QTime ConnectionTime), и при подключении нового клиента посылай всем соответствующий сигнал....соединить слот и сигнал можешь при создании нового клиента-это избавит тебя от создания списка всех клиентов....будешь просто посылать "широковещательный" сигнал! |