【发布时间】:2012-07-10 13:48:54
【问题描述】:
我正在尝试让 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'), 服务器 = 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:有时在记录缓冲区时,节点会在开头添加字符(带有数字或?的矩形),或者事件会在开头剪切一些字符。
- 如何以正确的方式记录缓冲区并将它们分配给变量?
【问题讨论】:
-
他的格式到底怎么了?我去尝试编辑他的问题来解决它,但它似乎是正确的。
-
是的,我很抱歉,但我无法让代码荧光笔在整个代码示例上正常工作。
标签: java node.js encoding types buffer