【NodeJS实战】建立TCP客户端发送二进制协议
2021/12/6 22:46:53
本文主要是介绍【NodeJS实战】建立TCP客户端发送二进制协议,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
- 作为TCP客户端与服务端通信
- 通信协议带二进制协议头,二进制头中带命令字与数据长度,协议头之后为实际数据。
var net = require('net'); var client = new net.Socket(); client.setEncoding('utf8'); var serverIp = "127.0.0.1"; var serverPort = 9000; var data = '<request version="1">\ <name>admin</name>\ <pwd>666666</pwd>\ <User-Agent>Client, Version 20210112</User-Agent>\ </request>' var dataBuf = Buffer.from(data, 'utf8'); //字符串构建buffer var dataLen = data.length; console.log(dataBuf); var headBuf = Buffer.alloc(32); // 协议头32字节 headBuf.writeUInt32LE(0x1002, 4); //协议头命令字 headBuf.writeUInt32LE(dataLen, 28); // 协议头中的数据长度 var sendBuf = Buffer.concat([headBuf, dataBuf]); // 协议头与数据拼接 client.connect(serverPort, serverIp, function(){ console.log("已连接到服务器"); client.write(sendBuf); }); //监听数据 client.on('data', data=>{ var recvBuf = Buffer.from(data, 'utf8'); var command = recvBuf.readUInt32LE(4, 4);//命令字 var xml = data.substring(32); console.log('服务器返回的数据:', xml); })
这篇关于【NodeJS实战】建立TCP客户端发送二进制协议的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27Vue2面试真题详解与实战教程
- 2024-12-27Vue3面试真题详解与实战攻略
- 2024-12-27JS大厂面试真题解析与实战指南
- 2024-12-27JS 大厂面试真题详解与实战指南
- 2024-12-27React 大厂面试真题详解及应对策略
- 2024-12-27Vue2 大厂面试真题详解及实战演练
- 2024-12-27Vue3 大厂面试真题详解及实战指南
- 2024-12-27Vue3大厂面试真题详解与实战攻略
- 2024-12-26React入门教程:从零开始搭建你的第一个React应用
- 2024-12-25Vue2入门教程:轻松掌握前端开发基础