потоковый канал по UDP отсутствует на nodejs - PullRequest
0 голосов
/ 11 апреля 2020

TCP stream может быть передано, например, ниже:

 const net = require("net"),                                                                                           
     port = 8888;                                                                                                      

 net.createServer(conn => conn.pipe(conn)).listen(port);                                                               

 const sock = net                                                                                                      
     .createConnection(port, () => sock.write("hello"))                                                                
     .on("data", data => console.log("echo: " + data));       

Но почему nodejs не поддерживает потоковый канал на UDP вообще? например, ниже:

const dgram = require("dgram"),                                                                                       
     port = 8888;                                                                                                      

sock = dgram.createSocket("udp4", (data, rinfo) => {                                                                  
    // sock.pipe(sock); /* pipe not implemented */                                                                              
    sock.send(data, rinfo.port); /* this is ok instead. */                                                                              
});                                                                                                                   
sock.bind(port);                                                                                                      

dgram                                                                                                                 
    .createSocket("udp4", data => {                                                                                   
        console.log("echo: " + data);                                                                             
        process.exit();                                                                                               
    })                                                                                                                
    .send("hello", port);                                                           
...