2140 阅读 · 2020年6月2日 23:38 更新 · 作者:clannadhh
今天我们来做点东西,自己动手来搭建一个简单的在线聊天室。
技术选型我们使用Tornado框架,前端使用jquery库。今天我们会用到一个技术,叫做websocket。这也是我们选择Tornado的一个原因。
WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术。想想如果我们没有websocket,是不是聊天室的每个人都要去轮询服务器有没有新消息,用户一多势必对服务器压力极大,另外浪费了带宽,而且这个轮询只能去主动发起。但是有了webscoket,那就不一样了。在传统的方式上,要不断的建立,关闭HTTP协议,由于HTTP是非状态性的,每次都要重新传输来告诉服务端你是谁。而Websocket只需要一次HTTP握手,所以说整个通讯过程是建立在一次连接/状态中,也就避免了HTTP的非状态性,服务端会一直知道你的信息,直到你关闭请求。稍微了解了什么是websocket之后,我们再来看看Tornado。
这一次我们要用到TornadoWebSocket模块。Tornado在websocket模块中提供了一个WebSocketHandler类,这个类提供了和已连接的客户端通信的WebSocket事件和方法的Handler。
好了,上代码。
明天继续