外国服务器,香港服务器,美国服务器,高防服务器,服务器租用,服务器托管
首页 > 新闻资讯 > 极客学院
如何构建 Python Websocket I服务器
2019-01-12 10:48:13 | 来源:极客网络 | 作者:liuchuang

       或许很多用户都听说过 Websocket,但是真正接触过的并不多。Websocket是随着 HTML技术出现的一个最新的Web服务类型的协议标准,可以说它就是为HTML5配备的,它实现了客户端和高防服务器全双工的功能。

       我们知道,原有的HmML标准都是被动式的,也就是客户端发送一段请求,服务器接收请求并且将结果返回给客户端,如果用户不刷新,测览器的页面就永远不会刷新,这就是所谓的单工的功能,即某一侧只能接收或者发送数据,并不能同时进行交互。

       基于这个原因,随着时间的推移,很多开发者开始琢磨要找到一套良好的用户交互机制,虽然Web测览器上跑某些任务的效率完全不能和应用程序比,但至少要让用户能感受到良好的交互体验,于是Ajax和Comet技术应运而生。

       做Web前端的程序员非常明白Ajax技术,所谓Ajax技术,即将服务器端的事件排列在待处理的队列中,根据轮询的时间依次将处理完的结果发送给浏览器,用这种方法来模拟服务器主动发送请求给浏览器,在轮询的空隙进行实时消息的传递,所以,Ajax技术并不是真正实现双工通信,只是模拟了双工通信。

       于是 Comet技术应运而生。 Comet技术就是在Ajax技术的基础上让服务器端保持客户端的HP连接,尝试使用服务器进行推送消息。Comet技术有几个变种:第一种是定时推送,也就是当客户端发起请求后,服务器端不管如何都会每隔N秒进行消息反馈,这样虽然会将对服务器负載的影响降到最低,但是对于一些实时要求高的Web需求来说,用户体验会非常差;第二种是当服务器有内容更新后,立刻推送给客户端并且关闭连接,这样会提高用户体验,但是对于服务器的负载也是相当严重的;第三种就是一直保持客户端HTTP连接的开销,不停地传送数据给客户端,所以这种方式也称作 Strean流的方式。由于服务器推送的方式,这种 Comet技术也被称为反向Ajax技术。

       由于所有这些内容都需要花费开销,于是 Flash等利用插件的 Socket技术也蓬勃发展了起来,当然Fash等浏览器插件确实能实现双工通信但是开发起来并不容易(开发人员还要多学一门语言),运行效率也并不高(插件形式)。随着时代的发展,网页也变得更加纷察复杂,利用原生网页就能使用的双工通信就应运而生。

本文链接:http://www.gkidc.com/news/jkxy/347.html

所属栏目:极客学院

【本文由极客网络发布;内容来源于互联网或原创,转载联系作者并注明出处:投稿请发至邮箱 layton@zhi-yue.net 】

最新新闻

查看更多

相关新闻

查看更多

推荐优选服务器

国内外服务器租用、服务器托管,365天24小时极致服务体验~认准极客网络!
在线咨询
24H在线售后
11082052
24H服务热线
0769-88836624
IDC/ISP/IRCS/增值电信业务经营许可证号:粤B1-20190887
COPYRIGHT © 2010-2018 广东极客网络科技有限公司 版权所有.粤ICP备18157343号
极客网络提供:服务器租用,服务器托管,高防服务器,香港服务器,美国服务器,韩国服务器,日本服务器,台湾服务器,免备案服务器,bgp高防服务器,站群服务器,等外国服务器IDC服务;敬请放心选购!

在线
客服

客服
热线

0769-88836624
7*24小时服务热线

关注
微信

马上推出关注官方微信
顶部