最近用node写端口转发程序,发现发的0xF,总是接收为0xC3 0xB
image.png这个问题,一开始想到的是编解码捣的鬼。在接收端,转发端用
socket.setEncoding('binary');
socket.setEncoding('hex');
socket.setEncoding('utf-8');
通通试了一遍,然后,问题不得解,陷入烦躁的情绪中了。不应该啊!
此问题搁置了几天,今天偶然看到
socket.write 的时候,也需要指定编码,而默认是utf8
image.png
最终,指定统一的编解码,问题就迎刃而解了。
image.png
为什么端口转发要自己造轮子呢?因为对端的源端口不确定,每次链接后,需根据设备上传的设备号决定。
总结:思路要清晰,胡乱试错有时候徒舔烦恼,问题反而不能分分钟解决。
网友评论