奇葩socket data自动转url编码问题
“use strict”; var net = require(‘net’);
var HOST = ‘127.0.0.1’; var PORT = 6969;
// 创建一个TCP服务器实例,调用listen函数开始监听指定端口 // 传入net.createServer()的回调函数将作为”connection“事件的处理函数 // 在每一个“connection”事件中,该回调函数接收到的socket对象是唯一的 net.createServer( (sock) =>{
// 我们获得一个连接 - 该连接自动关联一个socket对象
console.log(`CONNECTED: ${sock.remoteAddress} ':' ${ sock.remotePort }`);
// 为这个socket实例添加一个"data"事件处理函数
sock.on('data', (data)=> {
console.log(`DATA ' ${sock.remoteAddress } ':' ${data}`);
// 回发该数据,客户端将收到来自服务端的数据
console.log(data);
sock.write(`You said ${data}`,'utf8');
});
// 为这个socket实例添加一个"close"事件处理函数
sock.on('close', (data)=> {
console.log(`CLOSED: ${sock.remoteAddress} on ${sock.remotePort}`);
});
}).listen(PORT, HOST);
console.log(Server listening on ${HOST }:${ PORT}
);
代码如上,图如下: 不知为何进行了url编码,百思不得其姐姐。
3 回复
那个data是Buffer 类型,输出要用data.toString()
得了姐别忘了说声谢谢
@gzhangzy 咳咳,我知道没看我转utf8之后成为UrlEncode了么…谢谢
问题解决:那个软件发出的是 utf8-html这种编码…