浅析node ws@1.1.5(下-交互篇)

前两篇是严重划水跑题的,这篇是交互篇,算是正片吧。
这篇分三个部分讲

  1. 交互流程
  2. 封包结构
  3. ping和pong
交互流程不是本篇最重要的部分,直接看图


在这里插入图片描述
代码有兴趣的话, 可以自己追一下, 这里就不贴了

封包协议分析


先引用别人的文章做一些基础普及, 下面两个都讲的挺全的

https://segmentfault.com/a/1190000013298527 WebSocket 协议
https://blog.csdn.net/valada/article/details/98676216 开发者必知必会的 WebSocket 协议

我这边主要以具体示例来分析 准备工作

#客户端
var WebSocket = require('_ws@1.1.5@ws');
var ws = new WebSocket('http://127.0.0.1:19999/');

#服务端
var WebSocketServer = require('_ws@1.1.5@ws').Server;
var wss = new WebSocketServer({
   port: 19999});
wss.on('connection', function connection(ws) {
   
    ws.send("1111");
});

#源码/_ws@1.1.5@ws/lib/Sender.js
Sender.prototype.frameAndSend = function(opcode, data, finalFragment, maskData, compressed, cb) {
   
	console.log("this._socket.write", data,outputBuffer)
	this._socket.write(outputBuffer, 'binary', cb);
};

下面是打印信息

this._socket.write <Buffer 32 34 34 34 04 00 00 00 ff ff 00> <Buffer c1 0b 32 34 34 34 04 00 00 00 ff ff 00>

前面那个是 压缩后的 1111 \color{red}{1111} 1111 后面是真正发送出去的封包数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值