思路:
1、首先創建一個服務器,
2、開啟服務器偵聽,創建埠號和IP地址
3、req請求訊息,res回應訊息
4、設定回應頭,添加回應訊息物件
5、如果接收到的訊息是圖示,那么就直接結束回應當前訊息
6、偵聽請求事件和end事件
getServer.js
var http=require("http");
var querystring=require("querystring");//這個模塊可以將query格式字串
// 創建服務,一旦客戶端請求當前這個node服務時,就會執行listenerHandler函式
var server=http.createServer(listenerHandler);
// 偵聽開啟服務器,設定開啟的服務器埠號和ip,已經開啟后執行的函式
server.listen(4001,"10.9.72.229",listenerDoneHandler);//在這里將埠號和IP地址修改成自己的
// 并且傳入引數req,res,req是請求(客戶端發來的),res是回應(當前服務端發回給客戶端的)
function listenerHandler(req,res){
res.writeHead(200,{//回應頭,200代表回傳成功,后面跟的是物件
"content-type":"text/html;charset=utf-8"//規定回傳的格式
})
// 判斷發來的地址中是否有圖示檔案,如果有,直接結束回應當前訊息,并且跳出不繼續執行
if(req.url.includes("/favicon.ico")){
res.end();//這個end必須要寫,不寫的話就會掛起,不再繼續往下執行,回傳一個空的訊息,證明是已經結束了
return;
}
// ?a=1&b=2&c=3 {a:1,b:2,c:3}
console.log(req.url);//列印請求的地址
var o=querystring.parse(req.url.split("?")[1]);
res.write("<div>"+o.user+"歡迎光臨我的網站</div>");
res.write("<ul>");
for(var i=0;i<10;i++){
res.write("<li>"+i+"</li>");
}
res.write("</ul>");
res.end();//這個函式表示結束并回傳一個訊息,如果為空,那么就是回傳
//一個空訊息,證明已經結束,然后繼續向下執行,這個函式在這里
// 表示把write 的東西全部發送出去
// res.end(內容) 僅回應一個訊息內容,并且結束
// res.write(內容1);
// res.write(內容2);
// res.write(內容3);
// ...
// res.end()將上面所有write的內容一起回應發送,并且結束
}
function listenerDoneHandler(){
console.log("開啟服務了");
}
postServer
var http=require("http");//引入HTTP,在任何地方都可以引入,可以進行HTTP的通信服務,HTTPS是加密的,但是要錢
var querystring=require("querystring");
var server=http.createServer(function(req,res){//pos并不發送url,而是通過資料新發來發送的
var data="";
res.writeHead(200,{//回應頭
"content-type":"text/html;charset=utf-8"
})
if(req.url.includes("/favicon.ico")){
res.end();
return;
}
req.on("data",function(_data){//偵聽事件,當你發我訊息,我來偵聽的一個程序
data+=_data;//因為上面定義的data為空字串,所以_data會隱式轉換成字串,在這里可以查看發送過來的訊息是啥樣的
});
req.on("end",function(){//偵聽事件,接收完訊息
var o=querystring.parse(data);
res.write("<div>"+o.user+"歡迎光臨我的網站</div>");
res.write("<ul>");
for(var i=0;i<10;i++){
res.write("<li>"+i+"</li>");
}
res.write("</ul>");
res.end();//當接收完訊息,立馬回傳一個end
})
});
server.listen(4002,"10.9.72.229",function(){//這里不能同時占用同一個埠,所以這里換一個埠
console.log("開啟服務");
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/204879.html
標籤:其他
