node.js - 未知编码 Node.js Net/TCP

标签 node.js tcp

我正在尝试使用 node.js net 发送消息

我不断收到有关字符串的错误事件:

buffer.js:377
  throw new TypeError('Unknown encoding: ' + encoding);
        ^
TypeError: Unknown encoding: foobarstringfoobarstringfoobarstringfoobarstring
    at Buffer.write (buffer.js:377:13)
    at new Buffer (buffer.js:215:28)
    at createWriteReq (net.js:675:33)
    at Socket._write (net.js:640:18)
    at doWrite (_stream_writable.js:219:10)
    at writeOrBuffer (_stream_writable.js:209:5)
    at Socket.Writable.write (_stream_writable.js:180:11)
    at Socket.write (net.js:613:40)
    at someModule.<anonymous> (/home/engine/private_js/N.cs.js:120:43)
    at someModule.EventEmitter.emit (events.js:95:17)

我必须 JSON.stringifyJSON.parse 吗?

首先我 net.createServer() ...

var net=require('net');
var server=net.createServer(function(push){
    someModule.on('eventA',function(A,B,OBJ){
        push.write('eventA',{'A':A,'B':B,'OBJ':OBJ},'utf-8');
        });
    someModule.on('eventX',function(str){
        push.write('eventX',str,'utf-8');
        });
    push.on('error',function(err){
        console.dir(err);
        });
    });
server.listen(8005,function(){});

...然后我 net.connect() 到服务器...

var net=require('net');
var pull=new net.Socket();
pull.connect(8005,'127.0.0.1',function(){
    pull.on('eventA',function(_){
        eventA(_.A,_.B,_.OBJ);
        });
    pull.on('eventX',function(str){
        eventX(str);
        });
    pull.on('error',function(err){
        console.dir(err);
        });
    });

...并将数据传递给普通函数

function eventA(A,B,OBJ){
    //run some code
    };

function eventX(str){
    //run some code
    };

为什么连字符串都报错?它不是针对对象的吗??

最佳答案

写入套接字如下所示:socket.write(data[, encoding][, callback])。编码应该是utf8,而不是utf-8

关于node.js - 未知编码 Node.js Net/TCP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23227257/

相关文章:

javascript - 如何在javascript中的for循环中显示对象值

javascript - 编辑嵌入在 Discord Music Bot 中的 'Now Playing'

node.js - 是否可以在 RTMP 协议(protocol)中为每个数据包插入额外的数据?

sockets - Nodejs TCP套接字,结束时不包含remoteAddress信息

iOS didAcceptNewSocket 预期不同的端口号

JAVA(发送音频流 一服务器四客户端同机)

javascript - 无法使用来自非 Mongoose 对象的 Mongoose 对象方法

JavaScript 和 Node.js - Controller 函数中的 JSON 字符串不正确

javascript - Nodejs/express - Router.use() 需要中间件功能,但有一个 ' + gettype(fn));

sockets - trigger.io 可以打开 TCP 套接字吗?