基于Beaconpush的实时聊天功能

以前开发叶儿芽的时候尝试过使用php+nodejs搭建一个在线的实时聊天工具,但由于当时团队技术水平有限,效果并不是很好.最后决定采用第三方的聊天服务器来实现这一功能。

Beaconpush是一个优秀的第三方聊天服务器,用户通过WebSocket(或FlashSocket)与Beanconpush服务器保持,连并监听发送给当前用户的消息,实现实时聊天.
Beaconpush

Beaconpush提供了强大的API,除发送消息外,还有获取在线用户列表等功能,并且提供PHP,Python等多种语言的开发包程序.

客户端监听代码:

<script type="text/javascript">
    Beacon.connect('b58ae219', ['frontpage', 'chat'], {log: true,user:Tom});
    Beacon.listen(function (message) { alert(message); });
</script>

有一点美中不足的是,用户离开聊天页面后,beaconpush服务器无法立刻检测到用户断开连接,会有大约一分多钟的延迟。另外,官方提供的PHP开发包请求Beaconpush服务器有时会很慢,建议自行修改为使用fsocketopen等方式发送请求.

Show Comments