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);
