调用 require('dgram') ,可以使用数据报文 sockets(Datagram sockets)。 重要提醒: dgram.Socket#bind() 的行为在 v0.10 做了改动 ,它总是异步的。如果你的代码像下面的一样: - var s = dgram.createSocket('udp4');
- s.bind(1234);
- s.addMembership('224.0.0.114');
复制代码现在需要改为: - var s = dgram.createSocket('udp4');
- s.bind(1234, function() {
- s.addMembership('224.0.0.114');
- });
复制代码 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 获取地址和端口。
|