POKEIN如何识别客户端进行SERVER PUSH?ClientIDs是否是IP?

tee*_*nup 0 asp.net push server-push push-notification pokein

我有一个Web应用程序,用户将看到新消息的通知,我想将通知推送给已经登录的用户.

我已经看到我可以使用PokeIn的服务器推送来做到这一点,我已经尝试并理解了使用它的简单应用程序,但我没有得到ClientID的东西.

它保存在"OnClientConnected"中的ClientId是一个简单的整数,那么它如何识别客户端并调用它们上的函数?

此外,它写道,它使用混合长轮询方法,有人可以解释一下这是什么?

没有足够的知识,我将无法实施.

是否在登录用户的数据库中保存ClientID,然后使用此方法推送数据呢?

更新:

即使是在同一浏览器窗口或选项卡中的请求,每次请求时收到的ClientId都不同,所以我必须在我的母版页中包含Handler,并且每次请求时,我都必须将收到的ClientId映射到Logged In用户,以便我可以发送消息给他.

我不能只在LogIn上映射一次(ClientId到LoggedIn UserId),然后使用相同的ClientId向他发送消息吗?

小智 6

ClientID表示应用程序的特定客户端视图的标识键,并且每次都可能更改.它可以帮助您按键管理和定位特定视图.另一方面,您仍然可以使用PokeIn客户端ID的ASP.NET会话ID.唯一的区别是,如果任何用户在同一浏览器的不同选项卡上打开您的应用程序,则每个选项卡将具有唯一的客户端ID.实际上,这是您可能需要的强大功能.另一方面,当客户端断开连接时(几乎立即),PokeIn也会通知您.

您可以通过客户端ID访问会话ID; CometWorker.GetSessionId(string ClientId)

或者客户ID为会话ID; CometWorker.GetClientIdsBySessionId(string sessionId)

此外,如果您不想使用客户端ID系统(这非常有用),您可以选择"联合"选项.它可以帮助您使用您定义的名称从客户端发送和接收消息.(此处有"联合"功能的示例)

因为PokeIn提供了各种连接选项,所以当你使用PokeIn时,你不必考虑它背后的方法.它只是从各种解决方案中获益.可从以下网址访问更多信息:" 常见问题解答 "和"高级教程"(http://www.pokein.com/Help/AdvancedTutorial.aspx)

最后,您不必将PokeIn客户端ID保存到数据库.PokeIn有效地管理每个客户端的服务器端对象.我建议你查看样本和教程.