gpt4 book ai didi

sockets - Node.js:如何刷新套接字?

转载 作者:搜寻专家 更新时间:2023-10-31 22:32:32 25 4
gpt4 key购买 nike

我正在尝试在发送下一个数据 block 之前刷新套接字:

var net = require('net');

net.createServer(function(socket) {
socket.on('data', function(data) {
console.log(data.toString());
});
}).listen(54358, '127.0.0.1');

var socket = net.createConnection(54358, '127.0.0.1');

socket.setNoDelay(true);
socket.write('mentos');
socket.write('cola');

但是,尽管有 setNoDelay 选项,这仍然不起作用,例如打印“mentoscola”而不是“mentos\ncola”。我该如何解决这个问题?

最佳答案

查看 WriteableStream api 和相关示例您似乎应该自己设置分隔符。

exports.puts = function (d) {
process.stdout.write(d + '\n');
};

因为你的套接字是一个流,数据将在没有你直接控制的情况下被写入/读取,并且 #write 不会改变你的数据或假设你打算在写入之间中断,因为你可能正在通过套接字传输大量信息,并且可能想要设置其他分隔符。

我绝对不是这方面的专家,但这对我来说似乎是合乎逻辑的答案。

编辑:这是Nodejs streaming的副本,结论与我指定的答案相同:Working with streams isn't line-by-line, set your own delimiters.

关于sockets - Node.js:如何刷新套接字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8957872/

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