【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-11-15useCallback教程:React Hook入门与实践
- 2024-11-15React中使用useContext开发:初学者指南
- 2024-11-15拖拽排序js案例详解:新手入门教程
- 2024-11-15React中的自定义Hooks案例详解
- 2024-11-14受控组件项目实战:从零开始打造你的第一个React项目
- 2024-11-14React中useEffect开发入门教程
- 2024-11-14React中的useMemo教程:从入门到实践
- 2024-11-14useReducer开发入门教程:轻松掌握React中的useReducer
- 2024-11-14useRef开发入门教程:轻松掌握React中的useRef用法
- 2024-11-14useState开发:React中的状态管理入门教程