Как POKEIN идентифицирует клиентов для выполнения SERVER PUSH?Являются ли ClientID в нем IP-адресами? - PullRequest
0 голосов
/ 22 марта 2011

У меня есть веб-приложение, в котором пользователи будут видеть уведомления о своих новых сообщениях. Я хочу отправить уведомления пользователям, которые уже вошли в систему.

Я видел, что могу сделать это с помощью Server Push от PokeIn, я попробовал и понял простое приложение, использующее его, но я не получаю ClientID.

ClientId, который он сохраняет в «OnClientConnected», является простым целым числом, так как он распознает клиентов и вызывает на них функции?

Также написано, что в нем используется гибридный метод длинных опросов, может кто-нибудь объяснить, что это?

Я не смогу реализовать, не имея достаточных знаний об этом.

Подойдет ли сохранение ClientID в базе данных для вошедшего в систему пользователя, а затем отправка данных с помощью этого?

ОБНОВЛЕНИЕ:

Даже из запросов в пределах того же окно браузера или вкладка, ClientId получено каждый раз на каждый запрос отличается, поэтому я должен был включить Обработчик на моей главной странице и на каждом запрос, я должен был сопоставить ClientId Получил от пользователя, вошедшего в систему, так что я могу отправлять ему сообщения.

Разве я не могу просто сопоставить (ClientId с LoggedIn UserId) только один раз при входе в систему а затем использовать тот же ClientId для отправлять ему сообщения?

Ответы [ 2 ]

6 голосов
/ 23 марта 2011

ClientID представляет собой идентификационный ключ конкретного клиентского представления вашего приложения и может изменяться каждый раз.Это помогает вам управлять и ориентироваться на конкретные виды по ключам.С другой стороны, вы все равно можете использовать идентификаторы сеансов ASP.NET с идентификаторами клиентов PokeIn.Разница лишь в том, что если какой-либо пользователь открывает ваше приложение на разных вкладках одного и того же браузера, каждая вкладка будет иметь уникальный идентификатор клиента.На самом деле, это отличная функциональность, которая может вам понадобиться.С другой стороны, PokeIn также уведомляет вас, когда клиент отключается (почти мгновенно).

Вы можете достичь идентификатора сеанса по идентификатору клиента;CometWorker.GetSessionId (строка ClientId)

или идентификаторы клиента для идентификатора сеанса by;CometWorker.GetClientIdsBySessionId (string sessionId)

Кроме того, если вы не хотите использовать систему идентификаторов клиентов (что очень полезно), вы можете выбрать опцию «Joint».Это поможет вам отправлять и получать сообщения от клиента с именем, которое вы определили.(Пример для функции «Соединение» в здесь )

Поскольку PokeIn предоставляет различные варианты подключения, вам не нужно думать о подходе, который стоит за ним, когда вы работаете с PokeIn,Он просто дает преимущества от различных решений.Дополнительную информацию можно получить по адресу: " FAQ " и "Advanced Tutorial" (http://www.pokein.com/Help/AdvancedTutorial.aspx)

Наконец, вам не нужно сохранять идентификатор клиента PokeIn в базе данных. PokeIn управляет вашей серверной сторонойОбъекты для каждого клиента эффективно. Я предлагаю вам проверить образцы и учебные пособия.

0 голосов
/ 24 апреля 2011

В качестве ответа на ваше обновление вы можете использовать функцию совместного использования PokeIn, когда вам нужны общие серверные экземпляры для клиентов или согласованное именование для клиентов.

...