项目名称
畅聊
项目源码
https://github.com/Mmmmmrr/Project.git
项目使用技术
C++STL、http协议、websocket协议、session与cookie、mysql、登录注册、mongoose框架、jsoncpp。
项目简介
使用websocket框架mongoose、http、mongoose、session、mysql、jsoncpp的技术编写的即时通信网页。
项目准备
- 轮询
- Ajax短轮询
客户端周期性的向服务器发起HTTP请求,不管服务器是否真正获得数据,都会向客户端返回响应。 - Ajax长轮询
本身不是一个真正的推送。是短轮询的一种变体,在客户端向服务器发起HTTP请求后,服务器并不是每次都立即响应,当服务器得到最新数据时会向客户端传输数据,当数据没有更新时,服务器会保持这个连接,等到数据更新之后,才向客户端传输数据。若长时间没有更新,一段时间后请求就会超时。客户端收到超时信息后,会重新发送一个HTTP请求给服务器。
- Ajax短轮询
- websocket
WebScoket是一种协议,位于应用层,HTTP是单向通信协议,只有客户端发起HTTP请求,服务器端才会返回数据。WebScoket协议是双向通信协议,在建立连接之后,客户端和服务器都可以主动向对方发送或接受数据。WebScoket协议建立的前提需要借助HTTP协议,建立连接后就与HTTP无关了。
WebScoket使用了自定义协议,未加密为ws://,加密为wws://。
WebSock是应用层协议,