zoukankan      html  css  js  c++  java
  • Node.js使用UDP通讯

    Node.js 的 dgram 模块可以方便的创建udp服务,,以下是使用 dgram模块创建的udp服务和客户端的一个简单例子。

    一、创建 UDP Server

    var dgram = require('dgram');
    //创建 udp server
    var udp_server = dgram.createSocket('udp4');
    udp_server.bind(5678); // 绑定端口
    
    // 监听端口
    udp_server.on('listening', function () {
        console.log('udp server linstening 5678.');
    })
    
    //接收消息
    udp_server.on('message', function (msg, rinfo) {
        strmsg = msg.toString();
        udp_server.send(strmsg, 0, strmsg.length, rinfo.port, rinfo.address); //将接收到的消息返回给客户端
        console.log(`udp server received data: ${strmsg} from ${rinfo.address}:${rinfo.port}`)
    })
    //错误处理
    udp_server.on('error', function (err) {
        console.log('some error on udp server.')
        udp_server.close();
    })
    
    
    

    二、创建 UDP Client

    var dgram = require('dgram');
    var udp_client = dgram.createSocket('udp4'); 
    
    udp_client.on('close',function(){
        console.log('udp client closed.')
    })
    
    //错误处理
    udp_client.on('error', function () {
        console.log('some error on udp client.')
    })
    
    // 接收消息
    udp_client.on('message', function (msg,rinfo) {
        console.log(`receive message from ${rinfo.address}:${rinfo.port}:${msg}`);
    })
    
    //定时向服务器发送消息
    setInterval(function(){
        var SendBuff = 'hello 123.';
        var SendLen = SendBuff.length;
        udp_client.send(SendBuff, 0, SendLen, 5678, '172.30.20.10'); 
    },3000);
    
  • 相关阅读:
    vue04-动画、组件
    vue02—— 动画、组件、组件之间的数据通信
    webpack使用
    Promise
    css 尾巴
    js尾巴
    Python字符串格式转换
    CentOS 6.5下Redmine的安装配置
    gem Errno::ECONNRESET: Connection reset by peer
    MySQL几个重要的目录
  • 原文地址:https://www.cnblogs.com/ay-a/p/9822268.html
Copyright © 2011-2022 走看看