zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    json数据转化格式
    远程安装软件控制台
    杂、记忆点
    布局(杂,细节处理)
    自己修改代码后push推送到zhile
    js中call和apply的区别 / 函数的call、apply以及bind的作用与区别
    一元运算符a++、++a、a--、--a
    javascript基础语法和算术运算符
    不同空格符号的区别
    2020.12.11面试两家
  • 原文地址:https://www.cnblogs.com/it-snail/p/4057462.html
Copyright © 2011-2022 走看看