最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

node.js中使用socket.io的方法

 更新時間:2014年12月15日 12:11:07   投稿:hebedich  
這篇文章主要介紹了node.js中使用socket.io的方法,需要的朋友可以參考下

使用socket.io的使用創(chuàng)建一個socket.io服務(wù)器即可.但是該服務(wù)器依賴于一個已經(jīng)創(chuàng)建的http服務(wù)器.

在http服務(wù)器運行之后,使用listen方法為該http服務(wù)器附加一個socket.io服務(wù)器.

復(fù)制代碼 代碼如下:

var sio=require("scoket.io");
var socket=sio.listen(server);

socket就是在server基礎(chǔ)上創(chuàng)建的一個socket.io服務(wù)器.

當(dāng)客戶端與服務(wù)器端建立連接時,觸發(fā)socket.io服務(wù)的connection事件.

復(fù)制代碼 代碼如下:

socket.on("connection",function(socket){
});

回調(diào)函數(shù)中的socket參數(shù)是服務(wù)器端與客戶端建立連接的socket端口對象.

當(dāng)接收到客戶端發(fā)送的消息時,發(fā)出socket端口對象的message事件.

復(fù)制代碼 代碼如下:

socket.on("message",function(msg){
});

回調(diào)函數(shù)的參數(shù)是客戶端發(fā)送的消息.

可以使用socket.send(msg)向客戶端發(fā)送一個消息.

當(dāng)服務(wù)器端可客戶端的連接斷開時觸發(fā)disconnect事件.

復(fù)制代碼 代碼如下:

socket.on("disconnect",funciton(){
});

該回調(diào)函數(shù)不適用任何參數(shù).

服務(wù)器端server.js代碼:

復(fù)制代碼 代碼如下:

 var http=require("http");
 var sio=require("socket.io");
 var fs=require("fs");
 var server=http.createServer(function (req,res) {
     res.writeHead(200,{"Content-type":"text/html"});
     res.end(fs.readFileSync("./index.html"));
 });
 server.listen(1337);
 var socket=sio.listen(server);
 socket.on("connection", function (socket) {
    console.log("客戶端建立連接");
     socket.send("你好");
     socket.on("message", function (msg) {
         console.log("接收到一個消息:"+msg);
     });
     socket.on("disconnect", function () {
         console.log("客戶端斷開連接.");
     });
 });

創(chuàng)建客戶端index.html代碼:

復(fù)制代碼 代碼如下:

 <!DOCTYPE html>
 <html>
 <head lang="en">
     <meta charset="UTF-8">
     <title></title>
     <script src="/socket.io/socket.io.js"></script>
     <script>
         var socket=io.connect();
         socket.on("message", function (data) {
             console.log(data);
             socket.send("消息已接受到.")
         });
         socket.on("disconnect", function () {
             console.log("服務(wù)器端斷開連接.");
         });
     </script>
 </head>
 <body>
 </body>
 </html>

這段代碼:/socket.io/socket.io.js有服務(wù)器端socket.io類庫提供,不需要再客戶端實際放置一個socket.io.js文件.

在腳本文件中,首先使用io.connect()方法連接服務(wù)器端socket.io服務(wù)器.

該方法返回一個與服務(wù)器端建立連接的客戶端socket端口對象.

當(dāng)接受到服務(wù)器端發(fā)送的消息時,觸發(fā)客戶端socket端口對象的message事件.

復(fù)制代碼 代碼如下:

socket.on("message",function(msg){
});

msg是服務(wù)器端發(fā)送的數(shù)據(jù);

也可以使用客戶端的socket對象的send()方法向服務(wù)器端發(fā)送數(shù)據(jù).

復(fù)制代碼 代碼如下:

socket.send(msg);

當(dāng)服務(wù)器端斷開連接時,觸發(fā)客戶端socket端口對象的disconnect事件,

復(fù)制代碼 代碼如下:

socket.on("disconnect",function(){
})

這個回調(diào)函數(shù)不使用任何參數(shù).

注意:

客戶端的消息機制與服務(wù)器端的消息處理機制是完全一致的.因為socket.io確保客戶端與服務(wù)器端共享相同的API.

運行后的結(jié)果:

當(dāng)關(guān)閉瀏覽器是,就斷開了與服務(wù)器的連接,此時服務(wù)器端觸發(fā)disconnect事件,客戶端斷開連接.

相關(guān)文章

  • Node.js使用supervisor進行開發(fā)中調(diào)試的方法

    Node.js使用supervisor進行開發(fā)中調(diào)試的方法

    今天小編就為大家分享一篇關(guān)于Node.js使用supervisor進行開發(fā)中調(diào)試的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Node.js處理HTTP請求的示例代碼

    Node.js處理HTTP請求的示例代碼

    Node.js是一個基于Chrome V8引擎的JavaScript運行環(huán)境,它使得JavaScript可以脫離瀏覽器在服務(wù)器端運行,Node.js的非阻塞I/O模型和事件驅(qū)動特性使其在處理HTTP請求時表現(xiàn)出色,本文將探討Node.js如何處理HTTP請求,并提供示例代碼,需要的朋友可以參考下
    2024-09-09
  • windows離線環(huán)境安裝node-sass全過程

    windows離線環(huán)境安裝node-sass全過程

    文章介紹了如何在Windows系統(tǒng)上安裝和配置node-sass,并提供了一個詳細(xì)的步驟指南,首先,通過命令行查看支持版本;然后,下載對應(yīng)版本的node-sass安裝包;接著,在npm配置文件中增加SASS_BINARY_PATH路徑配置;最后,執(zhí)行npmi命令完成安裝
    2024-12-12
  • Node.JS 版本管理工具Fnm安裝及配置

    Node.JS 版本管理工具Fnm安裝及配置

    本文主要介紹了Node.js版本管理工具Fnm的安裝和配置過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-10-10
  • Nodejs中讀取中文文件編碼問題、發(fā)送郵件和定時任務(wù)實例

    Nodejs中讀取中文文件編碼問題、發(fā)送郵件和定時任務(wù)實例

    這篇文章主要介紹了Nodejs中讀取中文文件編碼問題、發(fā)送郵件和定時任務(wù)實例,本文使用了3個模塊來解決這3個需求,并給出了代碼操作實例,需要的朋友可以參考下
    2015-01-01
  • 詳解一個基于套接字實現(xiàn)長連接的express

    詳解一個基于套接字實現(xiàn)長連接的express

    這篇文章主要介紹了詳解一個基于套接字實現(xiàn)長連接的express,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • node.js安裝及環(huán)境配置超詳細(xì)步驟講解(Windows系統(tǒng)安裝包方式)

    node.js安裝及環(huán)境配置超詳細(xì)步驟講解(Windows系統(tǒng)安裝包方式)

    這篇文章主要介紹了node.js安裝及環(huán)境配置超詳細(xì)教程(Windows系統(tǒng)安裝包方式),本文分步驟通過圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • 詳解node nvm進行node多版本管理

    詳解node nvm進行node多版本管理

    這篇文章主要介紹了詳解node nvm進行node多版本管理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • 使用Node.js實現(xiàn)一個文章生成器

    使用Node.js實現(xiàn)一個文章生成器

    本文將從零開始,講解如何使用Node.js來實現(xiàn)一個文章生成器,node里面有很多優(yōu)秀的模塊,現(xiàn)在我們就借助node的fs模塊來操控文本,來實現(xiàn)我們想要的效果,感興趣的小伙伴跟著小編一起來看看吧
    2024-07-07
  • 用Node.js遍歷多級目錄處理文件的代碼詳解

    用Node.js遍歷多級目錄處理文件的代碼詳解

    在日常開發(fā)中,處理大量的文件操作是一個常見的需求,特別是在圖像處理和存檔管理領(lǐng)域,本文給大家介紹了如何用Node.js遍歷多級目錄處理文件,文章給出了主要步驟和完整代碼,需要的朋友可以參考下
    2024-06-06

最新評論

县级市| 合山市| 岐山县| 崇礼县| 磐安县| 拉萨市| 嘉义市| 台南市| 阿拉尔市| 开平市| 红安县| 南开区| 兴海县| 芜湖县| 静乐县| 永仁县| 视频| 横山县| 沂源县| 台北县| 郧西县| 资源县| 莒南县| 汝州市| 赫章县| 台山市| 岳池县| 手游| 江陵县| 墨脱县| 泽库县| 子洲县| 崇明县| 泰州市| 项城市| 云和县| 普宁市| 红原县| 麻城市| 彩票| 黎平县|