【发布时间】:2021-10-03 22:41:44
【问题描述】:
我正在使用 Node 网络。
客户端多次写入feed时,在服务端收到1条数据。
var net = require('net');
// SERVER SIDE
var net_port = 8080; // node net port
var server = net.createServer(function(connection){
connection.on('data', function(data){
var str = data.toString();
console.log("Received, Length: "+str.length); // IT SHOULD be 25 in length
});
connection.pipe(connection);
});
server.listen(net_port, function() {
console.log('server is listening');
});
// SERVER CODE NED
// ### 客户端
var client = net.connect({port: 8080}, function() {
console.log('connected to server!');
});
string = "acdefghijklmnopqrstuvwxyz"; // 25 char
setInterval(function(){
client.write(string);
client.write(string);
},1);
setInterval(function(){
client.write(string);
client.write(string);
},1);
发送长度为 25 的字符串,但收到时 OUTPUT IS
Received, Length: 25
Received, Length: 25
Received, Length: 75 // merged 3 data
Received, Length: 100 // merged 4 data
Received, Length: 25
Received, Length: 50 // merge 2 times
Received, Length: 75
Received, Length: 25
Received, Length: 25
Received, Length: 25
Received, Length: 100
实际上,在我的实际代码中,我不能使用 split 字符串,因为如果客户端发送String length 100 4 次。所以服务器收到了
Received, Length: 100
Received, Length: 220
Received, Length: 80
如何强制 Node Net 发送和接收实际数据。
【问题讨论】: