简议WEB端的即时通信实现方案
作者:田想兵 博客地址:http://www.cnblogs.com/tianxiangbing
网页端实现即时通讯,无非是插件或ajax,插件不在本次讨论的范畴内,ajax的话,我们又可以分为长连接、短连接请求,通常实时性要求很高的话,会采用长连接,或是长短结合的方式。在web端,无插件下,是无法实现消息推的,这个问题直到html5才会得到更好的解决,现阶段的技术,还是集中在ajax上。
本文的例子请点击这里: http://www.lovewebgames.com/loginchat.html
首先,解释下,何为长、短连接:
所谓长连接,指在一个连接上可以连续发送多个数据包,然后断开连接,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。
这是百科里的介绍,用人类语言的意思就是,当你发送一个请求时,这个请求会一直停留在那,不会立即返回消息给你,可能会等待很久,直到有消息出现时,立即返回,此时,完成握手请求。这就是http的长连接。短链接就是我们平时的http请求,没什么好说的。
然后我们来看下场景,我们要做的是一个webIM的东西, 我们先来看下界面,如下图:
这里插入一段ad:这个webIM是或加我的QQ群77813547,会把邀请码以短信的形式的发送到您的手机上。端口网里的一个附属品,如果大家有兴趣的话,可以注册进去看下, 由于目前还在测试阶段,所以注册是遇要邀请码的,有兴趣的同仁可以把手机号和名字私信给我.