三木社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 312|回复: 0
打印 上一主题 下一主题

Node.js UDP/Datagram

[复制链接]

1562

主题

1564

帖子

4904

积分

博士

Rank: 8Rank: 8

积分
4904
跳转到指定楼层
楼主
发表于 2017-8-14 08:33:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
调用 require('dgram') ,可以使用数据报文 sockets(Datagram sockets)。
重要提醒: dgram.Socket#bind() 的行为在 v0.10 做了改动 ,它总是异步的。如果你的代码像下面的一样:
  1. var s = dgram.createSocket('udp4');
  2. s.bind(1234);
  3. s.addMembership('224.0.0.114');
复制代码
现在需要改为:
  1. var s = dgram.createSocket('udp4');
  2. s.bind(1234, function() {
  3.   s.addMembership('224.0.0.114');
  4. });
复制代码
dgram.createSocket(type[, callback])
  • type 字符串. 'udp4' 或 'udp6'
  • callback 函数. 附加到 message 事件的监听器。可选参数。
  • 返回: Socket 对象
创建指定类型的数据报文(datagram) Socket。有效类型是udp4 和 udp6
接受一个可选的回调,会被添加为 message 的监听事件。
如果你想接收数据报文(datagram)可以调用 socket.bind()。socket.bind() 将会绑定到所有接口("all interfaces")的随机端口上( udp4 和 udp6 sockets 都适用)。你可以通过socket.address().address 和 socket.address().port 获取地址和端口。
dgram.createSocket(options[, callback])
  • options 对象
  • callback 函数. 给 message 事件添加事件监听器.
  • 返回: Socket 对象
参数 options 必须包含 type 值(udp4 或 udp6),或可选的 boolean 值 reuseAddr。
当 reuseAddr 为 true 时, socket.bind() 将会重用地址,即使另一个进程已经绑定 socket。 reuseAddr 默认为 false。
回调函数为可选参数,作为 message 事件的监听器。
如果你想接受数据报文(datagram),可以调用 socket.bind() 。socket.bind() 将会绑定到所有接口( "all interfaces" )地址的随机端口上( udp4 和 udp6 sockets 都适用)。你可以通过socket.address().address 和 socket.address().port 获取地址和端口。

回复

使用道具 举报

Archiver|手机版|小黑屋|三木电子社区 ( 辽ICP备11000133号-4 )

辽公网安备 21021702000620号

GMT+8, 2025-5-3 00:08 , Processed in 0.024348 second(s), 23 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表