在两个Web浏览器客户端之间发送信息的方法?

时间:2013-03-18 15:18:22

标签: php javascript ajax websocket

我对以下问题做了很多研究,但最终都指向了我无法使用的Websockets,因为我的主机不允许使用命令行或ssh。我也尝试过postMessage(data,targetDomain)技术,但这并不是我想去的地方。

这就是我想要做的事情:

从一个人执行javascript到该页面上的其他用户而不重新加载它或任何东西。

示例:用户单击页面上的按钮,它会发送一个javascript代码,该代码会在每个其他侦听器页面上自动执行一个函数。有点像你可以说的聊天功能,但可能不那么密集?

这是我第一次探索这个领域,所以我对这些概念感到困惑。我已经阅读了多个提供套接字类似程序的文档,但这里没有任何运气。 (就像我说的,因为我的主人,我不能真正使用套接字)。

感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

如果您所在的托管平台不允许使用WebSockets,那么您可以将实时通信层外包给hosted realtime service我为Pusher工作,这是一种此类服务)。

托管服务往往具有免费套餐,因此取决于您尝试实现的目标,这可能就足够了。如果没有,请与他们联系,解释您的应用和您的情况,他们可能会提供帮助。

如果您想使用self hosted solution,那么您可能需要使用基于HTTP的内容。但是,如果您使用的是小型共享托管平台,这可能会占用大量资源,您的托管服务可能会告诉您。

如果更新不是那么频繁,那么您可以在相当长的时间间隔内使用标准的AJAX轮询。听起来你想要避免这种情况。

就我个人而言,我建议使用托管服务,因为您尝试实现的内容本身就很困难,因为它是基于请求/响应构建的。

相关:Realtime websocket-like behavior possible on Heroku?