【发布时间】:2020-04-13 01:45:23
【问题描述】:
这应该很容易弄清楚,但我感到非常沮丧,而且我似乎无法为这个相当简单的案例找到文档。
我想通过 TCP 连接发送字节(而不是字符串)并处理响应。这就是我所拥有的,但它会在使用 Buffer 类型时引发类型异常。当我改用字符串类型时,它发送字节 0xc3 0xbe 0x74 0x01 而不是 0xfe 0x74 0x01(来自 tcpdump)。天知道为什么。
如果我应该改用管道接口,那就太好了,但我似乎找不到如何为 TCP 流而不是文件这样做。
const net = require ('net')
const pumpIP = '192.168.1.208'
const pumpPort = 2101
const pumpStr = '\xfe\x74\x01'
const pumpBuffer = Buffer.from(0xfe, 0x74, 0x01)
var pump = new net.Socket()
pump.connect(pumpPort, pumpIP, function() {
pump.write(pumpBuffer) // <-- this throws a type error
// pump.write(pumpStr) // <-- this sends 0xc3 0xbe 0x74 0x01 instead
})
pump.on('data', function(data) {
// code to handle data
pump.destroy()
})
【问题讨论】:
标签: node.js sockets tcp buffer