nodejs 서버 수 동 구현 방법

7012 단어 nodejs서버
이것 은 연속 적 인 node 학습 노트 입 니 다.본 고 는 제1장 으로 지속 적 으로 업데이트 되 고 지속 적 으로 완선 할 것 입 니 다.
python 은 사용 하기 쉽 습 니 다.오래 사용 하면 사람의 성질 을 키 울 수 있 습 니 다.nodejs 는 사용 하기 어렵 지만 효율 이 좋 고 나 쁜 성질 도 완전히 고 칠 수 있 습 니 다.
nodejs 의 리 턴 은 내 가 사용 한 가장 아 픈 프로 그래 밍 방식 중 하나 이지 만 교묘 하기 도 하고 node 를 잘 배 우 는 것 도 프로그래머 에 게 안정 적 이 고 손 해 를 보지 않 는 장사 이다.
잔말 말고 코드 를 달 아 라.
 1.환경 구축 완료,정규 실행,문자열 의 숫자 추출

let numRe = /\d+/g;
console.log("123dsgfas 12434 sdfasdf234dagsdfg".match(numRe));
 
nodejs 의 문법 은 브 라 우 저 js 의 문법 과 매우 가 깝 습 니 다.node 를 설치 한 후에 정규 를 써 서 환경 이 성공 적 으로 설치 되 었 는 지 테스트 할 수 있 습 니 다.아 톰 의 script 플러그 인 을 통 해 포트 점용 이 용이 합 니 다.학습 과정 에서 명령 행 도구 로 node 스 크 립 트 를 실행 하 는 것 을 권장 합 니 다.예 를 들 어node HelloWorld.js2.http 모듈 에서 서비스 시작

const http = require("http")
//      8080       
http.createServer(function(req, res){
 console.log("==>", req.url);
 if (req.url === "/1.html"){
  res.write("you have request 1.html");
 }else if (req.url === "/2.html") {
  res.write("you have request 2.html");
 }else{
  res.write("404(page not found)");
 }
 res.end();
}).listen(8080)
서비스 오픈,3 단계:
STEP 1:모듈 도입
두 번 째 단계:모듈 http.createServer 호출
세 번 째 단계:감청 포트 http.createServer(function(req,res){}).listen(8080)
3.fs 모듈 읽 기 및 쓰기 파일

const fs = require("fs");
//     
fs.writeFile("HelloWorld.txt", "HelloWorld HelloNode", function(err){
 if(err){
  console.log(err);
 }
 //          
 else{
  fs.readFile("HelloWorld.txt", function(err, data) {
   if(err){
    console.log(err);
   }else{
    console.log(data.toString());
   }
  })
 }
})
간단하게 파일 을 읽 고 쓰 는 것 은 매우 간단 하 며,다른 프로 그래 밍 언어 와 유사 하 므 로,호출 방법 을 외우 면 된다.
4.정적 http 서버 구현

const http = require("http");
const fs = require("fs")


http.createServer(function(req, res){
 //    www/       
 fs.readFile("./www/"+req.url, function(err, data) {
  if(err){
   console.log(err);
   res.write("404");
   res.end();
  }else{
   console.log(data.toString())
   res.write(data);
   res.end();
  }
 })

}).listen(8080)
읽 기www/디 렉 터 리 에 있 는 파일 을 통 해 정적 자원 서버 를 실현 합 니 다.
5.get 데이터 가 져 오기

const http = require("http");
const url = require("url");

http.createServer(function(req, res){
 let reqObj = url.parse(req.url, true)
 let urlPath = reqObj.path;
 let urlData = reqObj.query;
 let log = "==>urlPath:" + urlPath +"==>>urlData:"+ JSON.stringify(urlData);
 console.log(log);
 res.write(log);
 res.end();
}).listen(6060)
get 요청 인자 분석
6.post 데이터 가 져 오기

const http = require("http");
const querystring = require("querystring");

http.createServer(function(req, res){
 let dataStr = '';
 let i = 0;
 req.on("data", function(data){
  dataStr+=data;
  console.log(` ${i++}     `);
 })

 req.on("end", function(){
  console.log("end");
  let parseData = querystring.parse(dataStr);
  console.log("parseData:", parseData);
  res.write(new Buffer(dataStr, "utf8"));
  res.end();
 })

}).listen(8800)
post 요청 한 인자 분석
소결:기 존 지식 으로 간단 한 서버 프로그램 구현

const http = require("http");
const fs = require("fs");
const querystring = require("querystring");

/*
*1.   www      
*2.   get  ,     serverLog.txt
*3.   post  serverLog.txt
*/

//       
function getNowDate(){
  let dt = new Date();

  let year = dt.getFullYear();
  let month = dt.getMonth();
  let day = dt.getDate();
  //     1
  month = month + 1;
  //         
  if (month <= 9){
    month = "0" + month;
  }

  //        
  if (day <= 9){
    day = "0" + day;
  }

  let hour = dt.getHours();
  let minutes = dt.getMinutes();
  let seconds = dt.getSeconds();


  return year+"-"+month+"-"+day+"-"+hour+"-"+minutes+"-"+seconds;
}

http.createServer(function(req, res){
 // 1.     www      
 fs.readFile("./www"+req.url, function(err, data){
  if(err){
   //2.        ,     log
   if(req.method === "GET"){
    console.log("   GET  ")
    let getData = querystring.parse(req.url.split("?")[1]);
    console.log("   get   ==>",getData);
    fs.writeFile("./serverLog.txt", getNowDate()+"
"+JSON.stringify(getData)+"
", {flag: 'a'},function(err){ if(err){ console.log(err); console.log("GET log "); } }); }else if (req.method == "POST") { console.log(" POST ") let tmpData = '' req.on("data", function(data){ tmpData+=data; }); req.on("end", function(){ let postData = querystring.parse(tmpData); console.log(" post ==>", postData); fs.writeFile("./serverLog.txt",getNowDate()+"
"+JSON.stringify(postData)+"
", {flag: 'a'},function(err){ if(err){ console.log(err); console.log("POST log "); } }); }) } res.write("404"); res.end(); }else{ res.write(data); res.end(); } }) }).listen(8000)
python 테스트 스 크 립 트

import requests

requests.get("http://127.0.0.1:8000/?name=zhaozhao&age=18&method=GET")

requests.post("http://127.0.0.1:8000", data={"name": "zhaozhao", "age": 18, "method": "POST"})
 
 

nodejs 리 셋 메커니즘 을 익 혔 습 니 다.원생 nodejs 로 서버 프로그램 을 쓰 는 것 은 매우 효율 적 인 일 입 니 다.테스트 스 크 립 트 는 역시 requests 가 좋 습 니 다!
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기