2010-05-05 92 views
0

我有一点(也许答案可能需要一本书)关于Web服务和服务器端编程的问题。实时网络服务

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

Now我的问题: 所有这些应用程序是基于传统的TCP客户机/服务器体系结构,还是有一种方法可以使它们更简单,就像LAMP这样的Web平台?

我在问什么,换句话说就是: PHP + MySQL(或者JSP,RoR或者其他服务器语言)能够让在线用户实时通信并共享数据吗?有没有办法做到这一点,而没有临时表的丑陋和沉重的机制?

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

回答

-1

有这个疯狂的黑色魔法事物称为P2P(peer-to-peer),使所有这一切成为可能。

我不知道,但我不认为它会赶上。

8 d

-1

编辑:CRAP ....我没有看到这个问题被张贴的日期。

我简直不敢相信。这是我连续第三次涉及XHR Long Polling又名Comet编程。达利兹,你想要什么是可能的,简单,并通过各种网站使用XHR长轮询完成。

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

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

如果你的客户端不是一个web浏览器,而是一些web服务,那么它更容易。与Web浏览器不同的Web服务有一个地址。因此,客户服务使用回调URL调用主服务并注册到特定事件。当这个事件发生时,像某人正在绘制东西,主要服务将使用客户端服务的回调URL来通知该动作。

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

+0

如果下选举人留下了一个理由,那将会很好。 – 2013-02-13 14:59:48