当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js dgram.Socket.addMembership(multicastAddress[, multicastInterface])用法及代码示例


socket.addMembership(multicastAddress[, multicastInterface])

添加于:v0.6.9

参数

使用IP_ADD_MEMBERSHIP 套接字选项告诉内核在给定的multicastAddressmulticastInterface 处加入多播组。如果未指定multicastInterface 参数,操作系统将选择一个接口并为其添加成员资格。要将成员资格添加到每个可用接口,请多次调用addMembership,每个接口一次。

当在未绑定的套接字上调用时,此方法将隐式绑定到随机端口,侦听所有接口。

在多个cluster worker 共享一个 UDP 套接字时,socket.addMembership() 函数必须只调用一次,否则会发生 EADDRINUSE 错误:

import cluster from 'node:cluster';
import dgram from 'node:dgram';

if (cluster.isPrimary) {
  cluster.fork(); // Works ok.
  cluster.fork(); // Fails with EADDRINUSE.
} else {
  const s = dgram.createSocket('udp4');
  s.bind(1234, () => {
    s.addMembership('224.0.0.114');
  });
}const cluster = require('node:cluster');
const dgram = require('node:dgram');

if (cluster.isPrimary) {
  cluster.fork(); // Works ok.
  cluster.fork(); // Fails with EADDRINUSE.
} else {
  const s = dgram.createSocket('udp4');
  s.bind(1234, () => {
    s.addMembership('224.0.0.114');
  });
}

相关用法


注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 dgram.Socket.addMembership(multicastAddress[, multicastInterface])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。