2017-01-02 Meng Lei
什么是Websocket Websocket 是HTML5开始推出的一种新的协议,实现了浏览器与服务端的全双工通信,在使用WebSocket时,,只要和服务端做一个握手(handshaking)动作,浏览器首先要向服务端发起一个特殊的HTTP请求,其头部附加了信息Upgrade: WebSocket,表明这是一个申请协议升级的HTTP请求,服务端解析出来这些信息后,产生一个应答给客户端,这样双方的WebSocket连接就建立起来了,即可形成一条全双工的数据通道,两者之间可以进行互相通信,直到客户端和服务端中的某一方主动关闭连接。 在WebSocket出现之前,为了解决浏览器和服务端之间的实时推送问题,采取了很多解决方案,通常使用 继续阅读 »
2018-06-10 Piasy
最近工作需要,对 WebSocket 进行了一点研究,今天在这里给大家分享一下我对 WebSocket 协议、WebSocket 的 Go 语言实现,以及 socket.io 服务端库的 Go 语言实现的理解。 WebSocket 简介 继续阅读 »
2015-07-15 白若水
前言 最近学习 SignalR ,做了小总结 《通过 实现耗时任务实时通知》 。SignalR 本身融合利用了 Web 通信的好几种方式,其中之一用到了 WebSocket 。 继续阅读 »
2016-08-02 jude
Action Cable 有什么用 Action Cable 是一项满足客户端与服务器端实时通讯需求的功能,它基于 WebSocket 协议。在此之前 web 端要满足类似的需求,有 轮询、长轮询、SSE(Server Sent Events ,sinatra 自带一个简单的实现,有兴趣可以看看) 等方法,综合考虑开销和兼容性,基于 WebSocket 的实现是最好的。 继续阅读 »
2015-11-29 刘太华
一次rabbitmq没用好的资源泄露 最近重写的一个使用rabbitmq做borker的服务, 一个go-lang的小服务,支持多节点,很简单就是从mq获得msg, 如果有通过websocket连接上来的client, 那么就push给它。 继续阅读 »
2017-02-25 Xie Jingyi
技术流水账一篇,记录踩过的坑 Channels 异构 Django Channels 官方文档宣称 channels 的最佳配置是使用其自带的服务器组件 Daphne,但在开发中我发现 daphne 处理普通请求比在 WSGI 架构下慢了好几倍,更何况使用 daphne 派发静态文件是十分不切实际的。于是我将 http.request 和 websocket.* 两个 channel 解耦,前者使用 nginx 配合 uwsgi 处理,后者使用 nginx 反向代理至 daphne 处理。这样一来便可充分利用两种架构的优势。 旧架构: 新架构: more 环境 Ubuntu Server 16.04(与开发环境相 继续阅读 »