gpt4 book ai didi

javascript - 字符串在 Node 中的 TLS 套接字连接中的另一端连接

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

我正在使用 tail-always 拖尾一个文件并使用 Node 中的 TLS 套接字将数据传输到另一台服务器。这是将线路传输到另一台服务器的代码

var client = tls.connect(port,serveraddress, options, function() {
tail.on('line', function(data) {
console.log(data.toString('utf-8'))
client.write(data.toString('utf-8'));
});
tail.on('error', function(data) {
console.log("error:", data);
});
tail.watch();
});

在另一端服务器监听端口并抓取文本。代码是:

var server = tls.createServer(options, function(tslsender) {
tslsender.on('data', function(data) {
console.log(data.toString('utf-8'));
});
tslsender.on('close', function() {
console.log('closed connection');
});
});

当一次向文件中添加一行时,该程序可以完美运行,但是当向文件中添加多行时,这些行会在服务器端连接起来。我已经确认它们在 之前没有被连接起来client.write 函数。
我该如何解决这个问题?

最佳答案

一个标准的就是一堆字节。在流的一端一次写入一行不会影响另一端接收数据的方式。如果您希望您的服务器一次处理它接收到的一行数据,您需要在服务器上使用类似 split 的方式来执行此操作。 .

var split = require('split');

var server = tls.createServer(options, function(tslsender) {
let lineStream = tslsender.pipe(split());
lineStream.on('data', function(data) {
console.log(data.toString('utf-8'));
});

tslsender.on('close', function() {
console.log('closed connection');
});
});

关于javascript - 字符串在 Node 中的 TLS 套接字连接中的另一端连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31052573/

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