哪些TCP协议可用于客户端到客户端的通信?

哪些TCP协议可用于客户端到客户端的通信?,tcp,client-side,p2p,instant-messaging,Tcp,Client Side,P2p,Instant Messaging,许多时候,客户要求为其web应用程序提供即时消息(IM)和其他客户端对客户端(P2P)通信等功能。通常情况下,在普通的web浏览器中是如何做到这一点的?例如,我看到了(和Gmail)的演示,它们可以在普通浏览器上进行即时通讯。这是通过HTTP吗?或者XmlHttpRequest(AJAX)是否为这种通信提供了必要的后端 我最想知道的是,服务器如何“唤醒”远程客户端,比如说发送IM?或者客户端是否必须继续“轮询”消息服务器以获取新IMs?通常,浏览器将轮询服务器以获取新消息。为了提高效率,通常采用

许多时候,客户要求为其web应用程序提供即时消息(IM)和其他客户端对客户端(P2P)通信等功能。通常情况下,在普通的web浏览器中是如何做到这一点的?例如,我看到了(和Gmail)的演示,它们可以在普通浏览器上进行即时通讯。这是通过HTTP吗?或者XmlHttpRequest(AJAX)是否为这种通信提供了必要的后端


我最想知道的是,服务器如何“唤醒”远程客户端,比如说发送IM?或者客户端是否必须继续“轮询”消息服务器以获取新IMs?

通常,浏览器将轮询服务器以获取新消息。为了提高效率,通常采用的一种方法是“”(另请参见)-如果服务器有任何问题,它会立即响应;否则,它会等待,保持连接打开一段时间。如果收到一条消息,它会立即唤醒并发送它,否则它会在几十秒后返回“不,请检查”。客户端会立即重拨它们,使其返回长轮询状态。

知道RTMP等其他协议吗?JavaScript不支持其他协议。如果您使用的是flash,您可以打开原始TCP套接字并执行任何您喜欢的操作。