首页 > 代码库 > node.js--UDP

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

 

node.js--UDP