Facebook, Gmail, 校内Web即时通信方案介绍

www.facebook.com

Facebook是最早推出WebIM功能的SNS社区网站之一,Facebook IM的后台采用Erlang实现大规模的WebIM服务器集群,前台通过IFrame+AJAX实现跨域长轮询。


方案综述:后台采用PHP+Erlang实现,前台IM界面直接嵌入Facebook所有主要页面中,前后台通过POST发送消息,通过Iframe+AJAX的长轮询(long poll)方式接收消息(Message)和好友状态(Presence)。

发送消息:  POST http://www.facebook.com/ajax/chat/***.php

接收消息: GET http://0.channel17.facebook.com/x/1473685292/false/p_517871768=4

通过嵌入Iframe解决Ajax轮询代码的跨域问题: