歡迎您光臨本站 註冊首頁

Nodejs實現WebSocket代碼實例

←手機掃碼閱讀     e36605 @ 2020-06-10 , reply:0

一、環境配置
 

  1.下載安裝nodejs https://nodejs.org/en/download/

  2.安裝完成後打開cmd命令,執行node --version,看看是否安裝成功,如果提示沒有此命令,去配置下環境變量,正常情況下安裝後自動設置環境變量

二、配置nodejs模塊
 

  1.安裝express模塊

    模塊介紹:Express 是一個簡潔而靈活的 node.js Web應用框架, 提供了一系列強大特性幫助你創建各種 Web 應用,和豐富的 HTTP 工具。

  安裝方式:在項目路徑下執行npm install express

三、HelloWord
 

  1.創建一個目錄,作為項目目錄

2.創建一個demo.js   

  var express = require('express'),//讓其變為web模式    app = express(),    server = require('http').createServer(app);//引入http訪問模式並綁定服務    server.listen(8000);//添加訪問端口    app.get('/', function (req, res) {     res.send('Hello World');//當訪問Ip:8000時,頁面即可顯示  })

 

  3.在項目目錄下按住shift右鍵,選擇‘在此處打開命令窗口'執行node demo.js 未報錯即啟動成功

4.在瀏覽器訪問ip:port即可輸出

四、訪問頁面
 

  1.在項目路徑創建頁面文件夾pages,並創建html頁面a.html

2.在剛剛創建的demo.js中添加如下代碼

  var express = require('express'),//讓其變為web模式    app = express(),       server = require('http').createServer(app);//引入http訪問模式並綁定服務       server.listen(8000);//添加訪問端口       app.use('/', express.static(__dirname + '/pages'));//綁定頁面路徑,在pages下創建a.html頁面,可使用ip:8000/a.html訪問到       //app.use('/', express.static(__dirname + '/pages1'));//可配置多路徑,但默認會自上往下查找,找到後即返回,終止查找       app.get('/', function (req, res) {        res.send('Hello World');//當訪問Ip:8000時,頁面即可顯示   })

 

  3.重啟後訪問ip:port/a.html即可訪問到該頁面

五、引用其他js
 

  1.在項目根目錄創建include.js,內容如下

  var hello = {    sayHello:function(name){           return 'hello,'+name+',this is include.js';    }  }  module.exports=hello;

 

  2.在demo.js中添加

  var express = require('express'),//讓其變為web模式    app = express(),    include =require('./include.js'),//進入js    server = require('http').createServer(app);//引入http訪問模式並綁定服務    server.listen(8000);//添加訪問端口    app.use('/', express.static(__dirname + '/pages'));//綁定頁面路徑,在pages下創建a.html頁面,可使用ip:8000/a.html訪問到. "__dirname"為項目路徑默認變量      app.get('/', function (req, res) {     res.send(include.sayHello("demo"));    })

 

六、解析請求參數
 

  1.在demo.js中添加後請求鏈接http://ip:port/?p1=p&p2=2

  var express = require('express'),//讓其變為web模式    app = express(),    url = require('url'),    server = require('http').createServer(app);//引入http訪問模式並綁定服務    server.listen(8000);//添加訪問端口    app.use('/', express.static(__dirname + '/pages'));//綁定頁面路徑,在pages下創建a.html頁面,可使用ip:8000/a.html訪問到. "__dirname"為項目路徑默認變量    app.get('/', function (req, res) {        // 解析 url 參數    var params = url.parse(req.url, true).query;    res.write("網站名:" + params.p2);    res.write(" ");    res.write("網站 URL:" + params.p1);    res.end();    })

 

七、發送http請求
 

  1.post

  在demo.js中添加如下內容後訪問http://mykl:8000/? parameter=2

  var express = require('express'),//讓其變為web模式    app = express(),    url = require('url'),    util = require('util'),    include =require('./include.js'),    server = require('http').createServer(app);//引入http訪問模式並綁定服務    server.listen(8000);//添加訪問端口    app.use('/', express.static(__dirname + '/pages'));//綁定頁面路徑,在pages下創建a.html頁面,可使用ip:8000/a.html訪問到. "__dirname"為項目路徑默認變量    //app.use('/', express.static(__dirname + '/pages1'));//可配置多路徑,但默認會自上往下查找,找到後即返回,終止查找    app.get('/', function (req, res) {      // 解析 url 參數      var params = url.parse(req.url, true).query;      post('https://cang.mini-kaola.cn/pages/MobileWeb/getStorageDatil.htm',{cangId: params.cangid},function(data){        res.write(data);        res.end();      });    })                 function post(url,data,fn){     data=data||{};     var content=require('querystring').stringify(data);//獲得請求的參數     var parse_u=require('url').parse(url,true);     var isHttp=parse_u.protocol=='http:';     var options={        host:parse_u.hostname,        port:parse_u.port||(isHttp?80:443),        path:parse_u.path,        method:'POST',        headers:{           'Content-Type':'application/x-www-form-urlencoded',           'Content-Length':content.length        }      };      var req = require(isHttp?'http':'https').request(options,function(res){//發送請求       var _data='';       res.on('data', function(chunk){         _data += chunk;       });       res.on('end', function(){          fn!=undefined && fn(_data);        });      });      req.write(content);      req.end();    }

 

  2.get

  在demo.js中添加如下內容後訪問http://mykl:8000/?parameter=2

  var express = require('express'),//讓其變為web模式    app = express(),    http=require('http'),    url = require('url'),    include =require('./include.js'),    server = http.createServer(app);//引入http訪問模式並綁定服務    server.listen(8000);//添加訪問端口    app.use('/', express.static(__dirname + '/pages'));//綁定頁面路徑,在pages下創建a.html頁面,可使用ip:8000/a.html訪問到. "__dirname"為項目路徑默認變量    //app.use('/', express.static(__dirname + '/pages1'));//可配置多路徑,但默認會自上往下查找,找到後即返回,終止查找    app.get('/', function (req, res) {      // 解析 url 參數      var params = url.parse(req.url, true).query;         //get 請求外網       http.get("http://mykl/storage/pages/MobileWeb/getStorageDatil.htm?cangId="+params.cangid,function(req1,res1){         var html='';         req1.on('data',function(data){           html+=data;         });         req1.on('end',function(){         res.write(html);        res.end();        });       });           })

 

八、socket
 

 1.安裝socket模塊

  npm install socket.io

 2.進入上一步安裝的模塊路徑,找到socket.io.js

3.在page下創建一個html,並引用上面的js

  [object Object]

  


[e36605 ] Nodejs實現WebSocket代碼實例已經有263次圍觀

http://coctec.com/docs/javascript/show-post-237751.html