Найдено результатов: 3

QT4: послать сигнал конкретному треду?

Предположим, например, что есть мессенджер — у него серверная часть и клиентская. Каждое клиентское подключение осуществляется в отдельном потоке (QThread). Каждый клиент имеет уникальный идентификатор (например e-mail адрес владельца).


Как я осуществляю передачу сообщения от одного клиента к другому сейчас: каждый тред подписывается на сигнал у сервера. Когда один клиент присылает сообщение, сервер выбрасывает сигнал и все треды смотрят на идентификатор своего клиента — тот тред, у кого он совпадает с адресатом, отправляет сообщение клиенту. Все просто и отлично работает, но у меня подозрения, что это несколько неправильно. Что если клиентов миллионы? Может быть есть более разумный способ?


P.S. Каждый тред имеет также уникальный числовой идентификатор, присваиваемый автоматически при создании. Можно писать в базу соответствие этого ИД и почтового адреса. Но опять же — как послать сигнал треду с конкретным ИД?

Nginx   Qt   Клиент-сервер    

392   1   20:21, 17th August, 2020


Идентифицировать пользователя на сайте по запущенной программе (не факт, что на том же компьютере)?

Задумался вот над такой загадкой. А возможно ли идентифицировать пользователя на сайте (заметьте, не аутентифицировать, а просто узнать кто это) ничего у него не спрашивая? Использовать можно Javascript AJAX, PHP, установленные программы на сервере и на компьютере клиента.


Т.е. есть, скажем, 10 человек. У них запущены клиенты, подключенные к серверу. Они заходят на сайт и кликают кнопку и клиент показывает надпись «You clicked!» только тому пользователю, который действительно только что кликнул эту кнопку.


Поначалу, я думал заставить пользователя вводить e-mail. Но ведь кто-то может ввести чужой e-mail и таким образом сообщение увидит не тот. Затем пришла в голову мысль сравнить IP клиента, подключенного к серверу и IP пользователя, зашедшего на сайт. Но возникает вопрос: а будут ли гарантированно эти адреса совпадать? Ответ нет, т.к. на сайт можно прийти под прокси, а клиент может не использовать прокси (или вообще быть запущенным на телефоне — такое тоже допускается, но допустимо затребовать указывать это при регистрации).


Так вот такая загадка хабросообществу: возможно ли вообще максимально простым пользователю способом (т.е. не обязывая его помнить пароль) узнать какой из запущенных клиентов принадлежит ему и вывести туда сообщение, без ложного вывода у других пользователей системы?

Nginx   Клиент-сервер    

338   8   04:50, 1st October, 2020


Выбор почтового клиента под win7

Помогите с выбором функционального и симпатишного (очень нравится почтовик на маке, но по ряду причин приходится оставаться на винде) почтового клиента на win7, для работы с гуглопочтой.
Спасибо.

Windows   Почтовый   клиент    

360   17   10:20, 1st October, 2020