Node.js Net 模块提供了一些用于底层的网络通信的小工具,包含了创建服务器/客户端的方法
server.js
var net = require("net"); var server=net.createServer(function(connection){ console.log("客户端连接"); connection.on("end",function(){ console.log("客户端关闭"); });
connection.write("cyy");
// 在js中,我们保存或者接收数据的时候,往往都是定义一个变量。 // 但是如果数据量很大的话,系统就要开辟与之对应的内存,会占用较大内存 // 这时候就用到了pipe去进行读写流操作,更加优雅的完成任务 connection.pipe(connection); }).listen(8080,function(){ console.log("正在监听……"); });
main.js
var net = require("net"); var client=net.connect({port:8080},function(){ console.log("连接到服务器"); }); client.on("data",function(data){ console.log(data.toString()); client.end(); }); client.on("end",function(){ console.log("与服务器断开连接"); });
新开一个客户端,前面那个不要关
再回去看前面
Node.js DNS 模块用于解析域名
var dns = require("dns"); //dns.lookup 将域名(比如 'baidu.com')解析为第一条找到的记录 A (IPV4)或 AAAA(IPV6) dns.lookup("www.github.com",function onlookup(err,ip,family){ console.log("ip:"+ip); //dns.reverse 反向解析 IP 地址 dns.reverse(ip,function(err,hostnames){ if(err){ //打印出错误的调用栈方便调试 console.log(err.stack); } console.log("反向解析 "+ip+":"+JSON.stringify(hostnames)); }) })
var dns = require("dns"); //dns.lookup 将域名(比如 'baidu.com')解析为第一条找到的记录 A (IPV4)或 AAAA(IPV6) dns.lookup("www.baidu.com",function onlookup(err,ip,family){ console.log("ip:"+ip); //dns.reverse 反向解析 IP 地址 dns.reverse(ip,function(err,hostnames){ if(err){ //打印出错误的调用栈方便调试 console.log(err.stack); } console.log("反向解析 "+ip+":"+JSON.stringify(hostnames)); }) })
var dns = require("dns"); //dns.lookup 将域名(比如 'baidu.com')解析为第一条找到的记录 A (IPV4)或 AAAA(IPV6) dns.lookup("localhost",function onlookup(err,ip,family){ console.log("ip:"+ip); //dns.reverse 反向解析 IP 地址 dns.reverse(ip,function(err,hostnames){ if(err){ //打印出错误的调用栈方便调试 console.log(err.stack); } console.log("反向解析 "+ip+":"+JSON.stringify(hostnames)); }) })
反向解析的不太理想……