问题标签 [pokein]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1451 浏览

asp.net - POKEIN 如何识别客户端进行 SERVER PUSH ?其中的ClientID是IP吗?

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

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

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

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

如果没有足够的知识,我将无法实施。

是否将 ClientID 保存在数据库中以供登录用户使用,然后使用它推送数据?

更新:

即使来自同一个浏览器窗口或选项卡中的请求,每次请求时收到的 ClientId 也是不同的,因此我必须在我的母版页中包含处理程序,并且在每个请求中,我必须将收到的 ClientId 映射到登录用户,以便我可以向他发送消息。

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

0 投票
2 回答
607 浏览

asp.net - ASP.net 如何使用 PokeIn 进行长轮询?

如果有一些新消息发送给他,我想做一个通知用户的服务。因此,我想使用一些提供服务器推送能力的 Comet 框架。所以我调查了PokeIn

只是想知道一件事。我已经检查了他们在网站上的样本。如果有一些新条目,他们都不会查看数据库来检索新条目。但我猜这只是修改它的问题。

其中一个示例通过在服务器端使用睡眠来实现这种长轮询。因此,如果我使用相同的方法,我可以每 5 秒检查一次数据库是否有任何新条目。然而,这种方法似乎与在客户端使用 javascript 轮询时没有太大不同。

这部分来自一个样本。可以看出,他们在那里睡觉以更新每个人的当前时间。

所以我想知道我应该如何实现消息通知器?似乎上述方法仍然会在服务器端推动巨大的负载需求。消息通知程序的工作方式与发现 Facebook 的方式相同。

0 投票
1 回答
714 浏览

asp.net - Pokein 如何工作以及如何扩展

我正在为我的 ASP.NET 4.5 网站项目寻找 WebSockets 解决方案,我将使用 HTML5 技术为 Web 和移动应用程序开发该解决方案。

我需要一个允许我将消息从服​​务器推送到客户端的解决方案。我发现了几个,包括 SignalR 和 Pokein,bot 似乎是 .NET 的非常好的解决方案。现在我认为我会尝试 Pokein。

我正在向那些经历过这个问题的人提出这个问题,但我也对其他替代解决方案持开放态度。

这是我关于 Pokein (Pokein.com) 的问题

1) Poekin 可以扩展到多台服务器吗?

2)Poekin是否支持私人频道和群组频道(可以发送多个人相同的消息)?

3)Poekin如何知道如何区分客户端,我必须对客户端进行身份验证,使用cookies吗?

4) 当与多台服务器一起工作以扩展 Poekin 性能时,通道对象是否是服务器之间的共享?(我虽然使用 Amazon ElasticCache 将 userId 连接保存在缓存中的单个全局对象中)

5) 一次可以激活的通道数量是否有限制?

6) 一个频道可以连接多少人?- 如果他们在我网站的特定页面上,并且如果他们在网站上的特定页面上,他们连接到特定频道,我希望能够向数十万人发送消息。因此,例如,如果有 1000 个人在 page.aspx?id=2 上,他们将在频道 2 更新时收到消息,如果他们在 page.aspx?id=2,3 上,他们将在频道 2 和 3 更新时收到消息这些消息从服务器推送到客户端

据我了解,Poekin 是一个 DLL,这意味着它与我的网站一起加载。这意味着它不独立于应用程序。那么我该如何扩展它呢?- 如果我使用 Amazon ElasticBean 来扩展我的站点,我想知道它是否可以扩展,是否可以在负载均衡器后面的多个服务器上扩展,所以,有没有办法在几个活动服务器,如果我决定关闭负载均衡器后面的服务器怎么办?

谢谢

0 投票
1 回答
783 浏览

asp.net-mvc - ASP.NET MVC 异步控制器与服务器推送(COMET/反向 Ajax)

我正在构建一个 ASP.NET MVC站点,其中客户端(浏览器)可以进行最多需要 30 分钟(或更多..)处理的 API 调用。显然,我不能使用普通的 MVC 控制器来执行此操作,因为一些这样的请求会阻塞我所有的 IIS 工作线程,从而阻塞其他更快的调用。

我查看了以下两个选项:

  1. ASP.NET MVC 的异步控制器
  2. PokeIn库允许服务器通过反向 AJAX(长期持有旧浏览器的 HTTP 请求)或 WebSockets(来自新浏览器的 HTML5 规范)推送

现在这两者似乎都是一个不错的可行选择。

选项 1 对我来说似乎最容易实现。使用异步控制器,我的 IIS 工作线程不会被阻塞,因此我的其他更快的 API 调用可以无缝通过。但是,从异步控制器文档中,我认为,它会产生另一个非 IIS 线程,该线程将被阻塞/等待我长时间运行(30~ 分钟)的进程完成。我读到过,“如果您在控制器中阻塞或休眠,无论它是异步还是非异步,都非常糟糕。”

在选项 2 中,如果我的客户端使用支持 WebSockets 的较新浏览器,这可能是最高效的,因为我不需要在服务器端有任何阻塞线程。当客户端触发缓慢的 API 调用时,我会引发一个事件,在该事件完成后(比如 30 分钟后),我会引发另一个事件,以使用更新的内容更新我所有客户端的浏览器。但是,对于 PokeIn 库,如果我的部分客户端没有支持 WebSocket 的浏览器(旧的..),我不确定他们是否会占用我的 IIS 工作线程之一。

选项 2 是否满足我的要求?在选项 1 中让我的异步控制器等待慢速进程是不是很糟糕?选项 1 的另一个缺点是,如果用户在请求完成之前刷新页面,一旦完成,他将不再获得作业的更新!

欢迎任何想法,建议。

谢谢

0 投票
1 回答
71 浏览

c# - 如何实现 PokeIn 的克隆消息攻击防护功能?

我尝试使用反向 AJAX 和 WebSocket 库PokeIn

我想用这个库发送私人消息,我在 PokeIn 网站上找到了Clone Message Attack Protection功能。

如何实现此功能?如何使用 PokeIn 安全功能?

0 投票
1 回答
140 浏览

asp.net - Pokein - 如何使用 Pokein 库捕获离线消息?

我尝试使用PokeIn做一个聊天应用程序。当用户不在聊天中并且我会尝试向他发送消息时,我该如何发送离线消息?如何捕获未发送的消息?

例如:SendToClient(CLIENT_ID_33, "Message");

ID 为 33 的用户不是聊天对象,我想将消息保存到数据库?我怎样才能捕捉到这条消息?

0 投票
0 回答
34 浏览

javascript - javascript __doPostBack 导致上一行不被调用?

我正在使用 PokeIn,当我运行以下调用时:

它不起作用......它只是回帖,但是,如果我注释掉 __doPostBack 它工作得非常好并且之前的调用......我做错了什么吗?

“SendMessageToAllUsers”是 VB.NET 代码隐藏中的一个函数,它是: