我正在尝试使 Java TCP 客户端和 node.js TCP 服务器一起交谈。这是我目前的代码:
Java 客户端
导入java.net。; 导入 java.io。;
公共类 Client2{
public static void main(String[] args) throws Exception{ Socket s = new Socket("192.168.1.35",8500); DataOutputStream dos = new DataOutputStream(s.getOutputStream()); dos.writeUTF("abcdefgh"); dos.close(); s.close(); }
}
Node.js 服务器
var net = require('net'), server = net.createServer();
server.on('connection', function (client) {
console.log('Hello World !'); client.on('data', function(data) { var message = data.toString('utf8'); console.log('***' + message +'***'); });
});
server.listen(8500);
此示例将返回此结果:
Hello World !
**abcdefgh***
但以此为输入:
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
它还给了这个:
Hello World !
***�abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz***
使用此输入:
qq32we3w87d 38s1d87s4df7s4d1+s2d7f+sfdsf4sà$àà3663%ç%&ç%&ç
它还给了这个:
Hello World !
***@qq32we3w87d 38s1d87s4df7s4d1+s2d7f+sfdsf4sà$àà3663%ç%&ç%&ç***
tldr:有时在记录缓冲区时,节点会在开头添加字符(带有数字或?的矩形),或者事件会在开始时剪切一些字符。
- 如何记录缓冲区并以正确的方式将它们分配给变量?