標籤:style blog io color os ar sp 資料 div
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);
node.js--UDP