Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 字符串在节点中的TLS套接字连接的另一端连接_Javascript_Node.js_Sockets_Ssl_Buffer - Fatal编程技术网

Javascript 字符串在节点中的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'

我正在使用 以及使用节点中的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函数之前,这些行不会连接起来。

如何解决这个问题?

一个标准的
只是一堆字节。在流的一端一次写入一行对另一端接收数据的方式没有影响。如果希望服务器一次只处理一行接收的数据,则需要在服务器上使用类似的方法来处理


简单拆分不起作用,所以在我的例子中,我必须在拆分内部使用正则表达式来分隔行
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');
    });
});