最近用node寫端口轉發(fā)程序,發(fā)現發(fā)的0xF,總是接收為0xC3 0xB

image.png
這個問題,一開始想到的是編解碼搗的鬼。在接收端,轉發(fā)端用
socket.setEncoding('binary');
socket.setEncoding('hex');
socket.setEncoding('utf-8');
通通試了一遍,然后,問題不得解,陷入煩躁的情緒中了。不應該?。?/p>
此問題擱置了幾天,今天偶然看到
socket.write 的時候,也需要指定編碼,而默認是utf8

image.png
最終,指定統(tǒng)一的編解碼,問題就迎刃而解了。

image.png
為什么端口轉發(fā)要自己造輪子呢?因為對端的源端口不確定,每次鏈接后,需根據設備上傳的設備號決定。
總結:思路要清晰,胡亂試錯有時候徒舔煩惱,問題反而不能分分鐘解決。