zoukankan      html  css  js  c++  java
  • Nodejs之socket广播

    nodejs发送udp广播还是蛮简单的,我们先写个服务器用于接收广播数据,代码如下:

    var dgram = require("dgram");
    
    var server = dgram.createSocket("udp4");
    
    server.on("error", function (err) {
      console.log("server error:
    " + err.stack);
      server.close();
    });
    
    server.on("message", function (msg, rinfo) {
      console.log("server got: " + msg + " from " +
        rinfo.address + ":" + rinfo.port);
    });
    
    server.on("listening", function () {
      var address = server.address();
      console.log("server listening " +
          address.address + ":" + address.port);
    });
    
    server.bind(41234);

    然后写个客户端程序,发送广播消息,代码如下:

    var dgram = require("dgram");
    
    var socket = dgram.createSocket("udp4");
    socket.bind(function () {
      socket.setBroadcast(true);
    });
    
    var message = new Buffer("Hi");
    socket.send(message, 0, message.length, 41234, '255.255.255.255', function(err, bytes) {
      socket.close();
    });

    这里需要注意的是socket.setBroadcast(true);必须在绑定socket成功后才能调用,否则会报Error: setBroadcast EBADF的错误。

    客户端发送广播还是蛮简单的,设置好需要发送的数据和端口等信息就OK了。

  • 相关阅读:
    P3133 [USACO16JAN]无线电联系Radio Contact
    P2196 挖地雷
    P2434 [SDOI2005]区间
    P2820 局域网
    P2904 [USACO08MAR]跨河River Crossing
    P1586 四方定理
    P2983 [USACO10FEB]购买巧克力Chocolate Buying
    P2049 魔术棋子
    kali-linux破解密码运行脚本并隐藏进程
    kali安装使用
  • 原文地址:https://www.cnblogs.com/jasondan/p/3861788.html
Copyright © 2011-2022 走看看