Javascript 字符串在节点中的TLS套接字连接的另一端连接
我正在使用 以及使用节点中的TLS套接字将数据传输到另一台服务器。下面是将线路传输到另一台服务器的代码Javascript 字符串在节点中的TLS套接字连接的另一端连接,javascript,node.js,sockets,ssl,buffer,Javascript,Node.js,Sockets,Ssl,Buffer,我正在使用 以及使用节点中的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'
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函数之前,这些行不会连接起来。如何解决这个问题?一个标准的
流
只是一堆字节。在流的一端一次写入一行对另一端接收数据的方式没有影响。如果希望服务器一次只处理一行接收的数据,则需要在服务器上使用类似的方法来处理
简单拆分不起作用,所以在我的例子中,我必须在拆分内部使用正则表达式来分隔行
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');
});
});