我正在使用这段代码将数据发送到 Java 应用程序。我想在不关闭连接的情况下发送多条消息。 Java 应用程序将等待并打印每条传入消息
var net = require('net');
var client = net.connect(1010, 'localhost');
client.setNoDelay();
client.write("asdfdsfsdf");
client.write("jghjhgjhgj");
问题是我不会收到 2 条单独的消息,而只会收到 1 条。此外,除非我调用 client.end(),否则 Java 应用程序甚至不会收到数据。 如何避免关闭连接并刷新多条消息?
最佳答案
在数据末尾放置一个换行符。
var net = require('net');
var client = new net.Socket();
client.connect(1010, 'localhost', function() {
client.setNoDelay();
client.write("asdfdsfsdf\n");
client.write("jghjhgjhgj\n");
});
我也遇到过同样的问题。添加\n 为我解决了这个问题。
关于node.js - Nodejs setNoDelay() 不起作用。是否有刷新套接字缓冲区的替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48344827/