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