服务器如何同时与两个客户端通信(JavaScript,HTML,PHP)?

时间:2011-04-11 19:42:03

标签: clients

我得到了一项任务,为此我可以使用任何www技术,如HTML,JavaScript,PHP等。我很遗憾地说我还没有研究过任何这些技术。因此,我花了很少的教程,浏览了他们,寻找答案。

我找到了许多问题的解决方案,但一个问题尚未解决。就是这样:

我希望两个客户端通过服务器进行通信以进行此分配。一个发送消息,服务器处理它并将其转发到下一个消息。

无论如何,PHP教程都没有向我展示这样做。他们都讨论了一个客户端与服务器之间的通信。

请帮忙。告诉我一个方法来做到这一点。谢谢。

2 个答案:

答案 0 :(得分:3)

目前,在没有恢复尖端(可能是hacky /不可靠)技术的情况下,您的PHP服务器无法启动与您已加载到Web浏览器中的页面的通信。这是HTTP协议工作方式的结果。

解决此问题的一种方法是在数据的“接收”端进行轮询。像发布 - 订阅模式的东西。

这样做的一种方法是:

  1. 一个客户端使用HTTP请求(XHR aka AJAX)向服务器发送数据,指定此数据的目标(另一个客户端)。
  2. 服务器将此数据存储在持久存储(本地文件,数据库等)中。
  3. 第二个客户端定期向服务器发送请求,询问是否有任何新数据供其使用。这可以使用JavaScript中的setInterval和XHR来完成。
  4. 我建议你看看:

    http://en.wikipedia.org/wiki/Publish/subscribe

    而且,要获得最先进的方法,请查看Socket.IO:

    http://socket.io

答案 1 :(得分:0)

您可能希望Google使用“php chat server”。构建聊天服务器是一种简单的入门方式。

http://net.tutsplus.com/tutorials/javascript-ajax/how-to-create-a-simple-web-based-chat-application/

http://code.jenseng.com/jenChat/