【问题标题】:Real time web services实时网络服务
【发布时间】:2010-05-05 13:45:55
【问题描述】:

我有一个关于 Web 服务和服务器端编程的小问题(也许需要一本书才能回答)。

但首先,有一点序言。 最近,我们看到了新的应用程序和游戏,它们使用某种与数据库的实时交互,或者更一般地,与其他用户进行交互。我说的是共享绘图画布、this 之类的游戏或简单的聊天,或 Android 应用程序“照片世界”,您可以在其中实时查看谁在线、分享您的照片等。

现在我的问题是: 所有这些应用程序都是基于经典的 TCP 客户端/服务器架构,还是有办法以更简单的方式制作它们,例如 LAMP 等网络平台?

我要问的是: PHP+MySQL(或 JSP,或 RoR,或任何其他服务器语言)能否提供一种使在线用户实时通信和共享数据的方法?有没有办法在没有临时表的丑陋和沉重的机制的情况下做到这一点?

谢谢!我希望我已经清楚了。

【问题讨论】:

    标签: web-services real-time


    【解决方案1】:

    有一种叫做 P2P (peer-to-peer) 的疯狂黑魔法使这一切成为可能。

    我不知道,但我认为它不会流行起来。

    8-D

    【讨论】:

      【解决方案2】:

      编辑:废话....我没有看到问题发布的日期。

      我不敢相信。这是我连续第三个涉及 XHR Long Polling aka Comet 编程的问题。 Daliz,您想要的一切都是可能的、简单的,并且由各种使用 XHR 长轮询的网站完成。

      概念:通常,网络浏览器向服务器发送请求,服务器返回响应并关闭与浏览器的连接。 Comet 编程不会在最后关闭连接,而是保持连接打开。所以,浏览器和服务器之间的连接仍然是打开的。所以,简单来说,当我们想连接到 Alice 时,我们找到连接到她浏览器的线程并将消息发送给 Alice。

      Facebook chant 使用相同的概念。 Please read This

      如果您的客户端不是网络浏览器而是一些网络服务,那么它会更容易。与 Web 浏览器不同的 Web 服务有一个地址。因此,客户端服务使用回调 URL 调用主服务并注册到特定事件。当该事件发生时,比如有人在画东西,主服务将使用客户端服务的回调 url 来通知该操作。

      在共享照片或其他二进制数据等数据时:也可以将来自一个用户的输入流发送给所有其他相关用户。因此可以共享一个简单的字符串或照片。但这也意味着照片接收端的用户不会有“xxx给你发了一张照片,点击这里下载”这样的消息。他们只会得到一个“你想打开还是保存这个文件”选项。

      【讨论】:

        猜你喜欢
        • 2018-02-08
        • 1970-01-01
        • 2011-06-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-16
        • 1970-01-01
        • 2014-10-05
        相关资源
        最近更新 更多