Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在两个web浏览器客户端之间发送信息的方法?_Php_Javascript_Ajax_Websocket - Fatal编程技术网

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

Php 在两个web浏览器客户端之间发送信息的方法?,php,javascript,ajax,websocket,Php,Javascript,Ajax,Websocket,我对下面的问题做了很多研究,但最终都指向了WebSocket,我不能使用它,因为我的主机不允许命令行或ssh。我也尝试过postMessage(data,targetDomain)技术,但这也不完全是我想要的 以下是我想做的: 从一个人向该页面上的其他用户执行javascript,而无需重新加载该页面或其他任何内容 示例:用户单击页面上的一个按钮,它会发送一个javascript代码,该代码会自动在每个其他侦听器页面上执行一个函数。有点像聊天功能,你可以说,但可能不那么密集 这是我第一次探索这个

我对下面的问题做了很多研究,但最终都指向了WebSocket,我不能使用它,因为我的主机不允许命令行或ssh。我也尝试过postMessage(data,targetDomain)技术,但这也不完全是我想要的

以下是我想做的:

从一个人向该页面上的其他用户执行javascript,而无需重新加载该页面或其他任何内容

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

这是我第一次探索这个领域,所以我对概念有点困惑。我读过很多提供类似套接字用法的程序文档,但在这里并没有什么好运气。(就像我说的,我不能真正使用套接字,因为我的主机)


感谢您的帮助,谢谢

如果您所在的托管平台不允许WebSocket,那么您可以将实时通信层外包给一个(我为其工作的就是这样的服务)

托管服务往往有一个免费层,所以根据您试图实现的目标,这可能就足够了。如果没有,请联系他们,解释你的应用程序和你的情况,他们可能会提供帮助

如果您想使用,那么您可能需要使用基于HTTP的东西。但是,同样,如果你在一个小型的共享托管平台上,这可能会占用大量资源,而且你的托管服务可能会让你失望

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

就我个人而言,我建议使用托管服务,因为您试图用PHP实现的目标本身就很困难,因为它是在考虑请求/响应的情况下构建的


相关:

Ajax和长轮询可能是最好的选择。您需要在服务器上安装一些东西来代理消息。您无法直接将浏览器与浏览器通信。也许您需要(比如@Pitch)类似Comet编程(长轮询)的东西,这是一种不好的做法,或者切换到另一台主机以便使用套接字…是的,我一直在尝试使用$.ajax GET和mysql,但是,如果我的网站要变得更大,我不愿意继续发送那么多sql请求谢谢,我会调查很久的。似乎很难找到一台允许命令行的主机(大多数共享服务器不允许),而且它的费用也很低。@Gosre这就是为什么你应该将ajax与长轮询相结合,这样只有在有新信息时才有一个GET。