欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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ù)器運(yùn)行之后,使用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類庫提供,不需要再客戶端實(shí)際放置一個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ù).

注意:

客戶端的消息機(jī)制與服務(wù)器端的消息處理機(jī)制是完全一致的.因?yàn)閟ocket.io確保客戶端與服務(wù)器端共享相同的API.

運(yùn)行后的結(jié)果:

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

相關(guān)文章

  • nodejs配置express服務(wù)器運(yùn)行自動打開瀏覽器詳細(xì)步驟

    nodejs配置express服務(wù)器運(yùn)行自動打開瀏覽器詳細(xì)步驟

    在nodejs中使用express來搭建框架可以說是非常的簡單方便,下面這篇文章主要給大家介紹了關(guān)于nodejs配置express服務(wù)器運(yùn)行自動打開瀏覽器的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • NVM安裝nodejs的方法實(shí)用步驟

    NVM安裝nodejs的方法實(shí)用步驟

    安裝node的方式有很多種,本文主要介紹了NVM安裝nodejs的方法實(shí)用步驟,希望能幫助大家來解決問題,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Node.js用Socket.IO做聊天軟件的實(shí)現(xiàn)示例

    Node.js用Socket.IO做聊天軟件的實(shí)現(xiàn)示例

    本文主要介紹了Node.js用Socket.IO做聊天軟件的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • node.js中的fs.ftruncate方法使用說明

    node.js中的fs.ftruncate方法使用說明

    這篇文章主要介紹了node.js中的fs.ftruncate方法使用說明,本文介紹了fs.ftruncate的方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • Win7系統(tǒng)中如何安裝高版本的NodeJS(親測有效!)

    Win7系統(tǒng)中如何安裝高版本的NodeJS(親測有效!)

    Node.js是基于Chrome V8引擎的JavaScript運(yùn)行環(huán)境,能夠使JavaScript在服務(wù)器端運(yùn)行,這篇文章主要給大家介紹了關(guān)于Win7系統(tǒng)中如何安裝高版本的NodeJS的相關(guān)資料,需要的朋友可以參考下
    2023-12-12
  • 基于nodejs+express4.X實(shí)現(xiàn)文件下載的實(shí)例代碼

    基于nodejs+express4.X實(shí)現(xiàn)文件下載的實(shí)例代碼

    本篇文章主要介紹了詳解nodejs+express4.X的文件下載的實(shí)例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • VSCode使用npm的詳細(xì)步驟

    VSCode使用npm的詳細(xì)步驟

    為了避免造輪子,我們有時候會用到其他人的勞動成果,比如一些優(yōu)秀的框架,比如Express,我們直接使用NPM下載下來就可以用了,降低開發(fā)成本和時間,這篇文章主要給大家介紹了關(guān)于VSCode使用npm的詳細(xì)步驟,需要的朋友可以參考下
    2022-09-09
  • 三分鐘教會你用nodejs操作mysql數(shù)據(jù)庫

    三分鐘教會你用nodejs操作mysql數(shù)據(jù)庫

    MySQL數(shù)據(jù)庫作為最流行的開源數(shù)據(jù)庫,基本上是每個web開發(fā)者必須要掌握的數(shù)據(jù)庫程序之一了,基本使用?node.js上,最受歡迎的mysql包就是mysql模塊,下面這篇文章主要給大家介紹了關(guān)于如何通過三分鐘教會你用nodejs操作mysql數(shù)據(jù)庫,需要的朋友可以參考下
    2023-05-05
  • node連接mysql查詢事務(wù)處理的實(shí)現(xiàn)

    node連接mysql查詢事務(wù)處理的實(shí)現(xiàn)

    本文主要介紹了node連接mysql查詢事務(wù)處理的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • ubuntu編譯nodejs所需的軟件并安裝

    ubuntu編譯nodejs所需的軟件并安裝

    Node 在 Linux,Macintosh,Solaris 這幾個系統(tǒng)上都可以完美的運(yùn)行,linux 的發(fā)行版本當(dāng)中使用 Ubuntu 相當(dāng)適合。這也是我們?yōu)槭裁匆獓L試在 ubuntu 上安裝 Node.js,
    2017-09-09

最新評論