什么TCP协议可用于客户端到客户端的通信?

时间:2009-08-06 18:05:28

标签: tcp client-side p2p instant-messaging

很多时候,客户要求为其网络应用程序提供即时消息(IM)和其他客户端到客户端(P2P)通信等功能。通常,这是如何在普通的Web浏览器中完成的?例如,我见过Google Wave(和Gmail)的演示,可以通过常规浏览器进行即时消息。这是通过HTTP吗?或者XmlHttpRequest(AJAX)是否为此类通信提供了必要的后端?

最重要的是我想知道服务器如何“唤醒”远程客户端,让我们说发送IM?或者客户端是否必须为新的IM保持“轮询”消息服务器?

1 个答案:

答案 0 :(得分:3)

通常,浏览器会轮询服务器以获取新消息。为了提高效率,通常采取的一种方法是“long poll”(另请参阅this link) - 如果服务器有任何内容,服务器会立即响应;否则,它等待,保持连接打开一段时间。如果收到消息,它会立即唤醒并发送消息,否则它会在几十秒后返回“nope,check check”。客户端他们立即重拨以重新进入长轮询状态。