node.js--UDP


1.UDP協議的特點以及應用場合。

UDP雖然傳遞數據不可靠,無連接,但是有傳遞速度快的特點,在傳送音頻、影視、圖片時,少點數據無傷大雅,可以考慮用UDP。

 

2.node.js中的UDP應該怎么用。

node.js中UDP對應的模塊是'dgram',通過下面的方式引用UDP模塊並創建UDP應用實例:

var dgram = require('dgram');
var udp = dgram.createSocket('udp4');

dgram實例對應的事件有:

‘listening’ : 開始監聽

'message' : 接受到消息

'close' : 關閉連接

'error' : 發生錯誤

 

對應的方法有:

send(message消息, message起始偏移, message結束偏移, 端口號, ip , 回調) 發送消息

close() 關閉連接

 

那么UDP發送端和接收端怎么交互呢?通過下面的小例子說明。

發送端(發送消息給接收端,接受到發送端的反饋打印出來):

var dgram = require('dgram');
var client = dgram.createSocket('udp4');

var message = new Buffer('hi server');

client.send(message, 0, message.length, 41234, '127.0.0.1');

client.on('message', function(msg){
    console.info('client know server has got the message')
});

 

 

接收端(監聽消息,收到消息后給發送端反饋):

 

var dgram = require('dgram');
var server = dgram.createSocket('udp4');

server.on('listening', function(){
    console.info('server is listening');
});

server.on('message', function(msg, rinfo){
    console.info('get message : ' + msg + 'from' + rinfo.address + ':' + rinfo.port);
    var message = new Buffer('I got message! from server');
    server.send(message, 0, message.length, rinfo.port, rinfo.address);
});

server.bind(41234);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM