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

 

posted @ 2014-10-28 17:59  前端小蜗牛  阅读(3533)  评论(0编辑  收藏  举报