码迷,mamicode.com
首页 > Windows程序 > 详细

nodejs的某些api~(四)udp&dns

时间:2015-12-30 23:42:27      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:

今天记udp/数据报套接字和dns。

udp

UDP/数据报套接字 => require(‘dgram‘);
dgram.createServer([type],[cb]);
type:可以是‘udp4‘,‘udp6‘;
cb:message事件监听器;
返回Socket对象
如果您想接收数据报则可调用 socket.bind。socket.bind() 会绑定到“所有网络接口”地址的一个随机端口(udp4 和 udp6 皆是如此)
然后您可以通过 socket.address().address 和 socket.address().port 来取得地址和端口。
类dgram.Socket //封装了数据报功能,可通过createSocket创建
//事件message msg Buffer对象,消息; rinfo OBJ远程地址信息;

socket.on(‘message‘,function(msg,rinfo){
    console.log(‘收到%d字节,来自%s:%d\n‘,msg.length,rinfo.address,rinfo.port);
})

//事件listening 套接字开始监听数据报时产生,会在udp套接字被创建时发生
//事件close ,error
socket.send(buf,offset,length,port,address,[cb])
buf Buffer 对象,要发送的消息
offset Integer,Buffer 中消息起始偏移值。
length Integer,消息的字节数。
port Integer,目标端口
address String,目标 IP
callback Function,可选,当消息被投递后的回调
//对于udp套接字,必须制定模板端口和ip,address参数可是一个字符串,他会被dns解析;
socket.bind(port,[address],[cb]);
port Integer;address String 可选
对于udp套接字,在一个具名端口port和可选地址address上监听数据。
socket.close();
socket.address();
socket.setBroadcast(flag);设置或清除SO_BROADCAST套接字选项。当该选项被设置,则udp报文可能被发送到一个本地接口的广播地址;
socket.setTTL(ttl);设置IP_TTL套接字选项;参数介于1-255的跃点数。大多数系统缺省为64;
socket.setMulticastTTL(ttl)设置IP_MULTICAST_TTL套接字选项。
socket.unref()。。。
socket.ref()
DNS
dns.lookup(domain, [family], callback);//将一个域名解析为第一个找到的A记录(ipv4)或AAAA记录(ipv6)
//地址族family可以是4,6.缺省为null。 回调参数为cb(err,address,family)
dns.resolve(domain,[rrtype],cb)//将一个域名解析为一个rrtype指定记录类型的数组。有效rrytype取值有A,AAAA,MX,TX,SRV,PTR,NS,CNAME
//回调参数为(err,addresses)其中addresses中每一项的类型取决于记录类型;
dns.resolve4/6(domain,cb) //只用于查询IPv4记录;addresses是一个ipv4地址的数组;
dns.resolveMx(domain,cb);类似于resolve但用于邮件交换查询(MX记录)
dns.reloveTxt/Srv/Cname/Ns(domain,cb);
dns.reverse(ip,cb);反响解析IP地址,返回指向该ip地址的域名数组;cb(err,domains)
dns.getServers();已字符串返回一个当前用于解析的ip地址的数组;
dns.setServers(servers)指定一个ip地址字符串数组,将它们作为解析所用的服务器

nodejs的某些api~(四)udp&dns

标签:

原文地址:http://www.cnblogs.com/dh-dh/p/5090271.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!