gpt4 book ai didi

json - nodejs JSON.parse(data_from_TCP_socket)

转载 作者:太空宇宙 更新时间:2023-11-03 22:47:36 24 4
gpt4 key购买 nike

我在nodejs服务器上有这个代码,它与require('net')一起工作,所以它是TCP,客户端是AS3并且正确发送数据:

var server = net.createServer(function(socket) {

socket.setEncoding("utf8");
clients.push(socket);

function broadcast(message) {
clients.forEach(function (client) {
client.write(message);
});
}

socket.on('data', function(dt){
var rdt = dt;
var srdt = rdt.toString();
var ordt = JSON.parse(srdt);
console.log(ordt);
broadcast(ordt);
});

socket.on('end', function(){...});
})

无法解析数据并给出各种错误。我能理解的是我从客户那里得到了“缓冲”。但我需要保持套接字打开,因此带有循环缓冲区的常见解决方案对我不起作用。

请帮我解决这个问题。

顺便说一句,对数据进行字符串化的客户端,当收到发送的数据时,会正确解析它。

最佳答案

您需要知道,通过 TCP 套接字传递的唯一内容是两端的缓冲区。

因此,如果一端发送 JSON 编码数据,另一端就会获得一个缓冲区,为了解析 JSON 数据,您只需执行此操作

JSON.parse(buffer.toString('utf8'))

发送数据的一端需要在写入socket之前使用JSON.stringify

关于json - nodejs JSON.parse(data_from_TCP_socket),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22158219/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com