(下面是个人理解)
【聊天,消息推送方法】
WebSocket 实现双向通道,让消web消息推送更简单
WebSocket 是一种协议,基于TCP协议,HTTP也是一种协议,基于TCP协议。
ws协议和http协议扯不上关系:因为客户端建立ws会话要发送一个header标记了Upgrade 的请求,表示此协议升级。
ws重用现有代码(比如认证http请求,如果在tcp协议上实现,这个两个功能就要重新所有就在http上升级)然后返回101的http响应完成握手,之后在发数据就没有http的事了。
websocket约定了一个通信的规范
基于SHA加密方式
工作原理参考如下:
http://www.qixing318.com/article/643129914.html
游览器提供内置js WebSocket 函数
http和websocket不同 * WebSocket与HTTP最大的不同(Web服务器是不会主动断开连接的)
因为Http是无状态的,只有客户端发出请求更新,用户看到的信息才会更新,服务器没有办法主动回应,下面是消息推送的方法,和技巧
dwr框架
pushlet 框架 --》 利用ajax 轮询 长连接 客户端将显示加载中 服务器定时发送javascript片段来更新页面 来实现消息推送。
http://www.cnblogs.com/hoojo/p/longPolling_comet_jquery_iframe_ajax.html
长轮询 --》和轮询相似,发送请求到服务器,如果服务器没有可以返回的手,则不会立即返回空结果,而是保持这个请求等待数据来(或者超时),之后将结果发回给客户端。
【WebSocket 和 Socket 区别】
Socket 针对应用,客户端程序到服务器
(谷歌,苹果)IM 都是 基于xmpp 协议,长连接这个技术实现通信的)
(手机通信为什么要有第三发推送平台?因为自己写一个手机端的推送消息,需要协议 等一些技术问题,还是用别人的方便)
【WebSocket 历史】
需要HTML5的支持,Tomcat 7
此API为Tomcat私有,当时java没有标准API,现在java有标准API,JSR536,此API不建议使用,新的用法请参照
WebSocket聊天,消息推送(案例) 最新方法API
http://redstarofsleep.iteye.com/blog/1974620
不建议使用的API(因为即将失效)
http://redstarofsleep.iteye.com/blog/1488639
【HTML5 webSocket 规范】
http://www.ibm.com/developerworks/cn/web/1112_huangxa_websocket/