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

Nodejs+Socket.io實現(xiàn)通訊實例代碼

 更新時間:2017年02月13日 15:50:07   作者:leslie·Zhao  
本篇文章主要介紹了Nodejs+Socket.io實現(xiàn)通訊實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

目錄結構

D:.
 │ package.json
 │ server.js
 │
 └─public
 index.html
 socket.io.js

需要的條件

  • socket.io.js 供前端界面初始化io
  • socket.io 供NodeJs端提供socket方法

socket.io.js存在于socket.io-client

socket.io存在于socket.io

演示的功能

  • 客戶端發(fā)送消息給服務端
  • 后端觸發(fā)事件告知客戶端
  • 客戶端離開觸發(fā)服務端事件

服務端

server.js

var express = require('express'); 
var app = express();

var server = require('http').createServer(app);
var io = require('socket.io')(server);

app.use('/', express.static(__dirname + '/public')); 

server.listen(80);

//socket部分
io.on('connection', function(socket) {
  //接收并處理客戶端的hi事件
  socket.on('hi', function(data) {
    console.log(data);

    //觸發(fā)客戶端事件c_hi
    socket.emit('c_hi','hello too!')
  })

  //斷開事件
  socket.on('disconnect', function(data) {
    console.log('斷開',data)
    socket.emit('c_leave','離開');
    //socket.broadcast用于向整個網(wǎng)絡廣播(除自己之外)
    //socket.broadcast.emit('c_leave','某某人離開了')
  })

});

  • connection用來處理socket鏈接事件
  • disconnect處理連接斷開事件
  • 后端接受前端事件通過socket.on(EventName,function(date){})
  • 后端觸發(fā)前端事件通過socket.emit(EventName,msg)

這個后端演示了,前端發(fā)送消息給后端,觸發(fā)hi事件,hi事件通過回調在觸發(fā)客戶端定義的c_hi事件告知前端。

客戶端

index.html

<!DOCTYPE html>
<html>

<head>
  <title>socket</title>
</head>

<body>


<button id="sendBtn">發(fā)送消息</button>

<button id="leaveBtn">離開</button>

</body>
<script type="text/javascript" src="./socket.io.js"></script>
<script type="text/javascript">
  var socket=io.connect('localhost:80'),//與服務器進行連接
    send=document.getElementById('sendBtn'),
    leave=document.getElementById('leaveBtn');

  send.onclick=function(){
    socket.emit('hi', 'hello!');
  }

  leave.onclick=function(){
    window.location.href="about:blank" rel="external nofollow" ;
    window.close()
    socket.emit('leave', 'leave');
  }

  //接收來自服務端的信息事件c_hi
  socket.on('c_hi',function(msg){
    alert(msg)
  })

  // socket.on('c_leave',function(msg){
  //   alert(msg)
  // })

</script>

</html>

  • 發(fā)送消息按鈕用來給服務端發(fā)送信息,觸發(fā)服務端定義的hi事件。
  • 離開頁面按鈕用來離開頁面,也就是socket會自動斷開。觸發(fā)服務端定義的disconnect。

源碼下載:Socket_jb51.rar

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • NodeJs項目中關閉ESLint的方法

    NodeJs項目中關閉ESLint的方法

    ESLint是一個用來識別 ECMAScript 并且按照規(guī)則給出報告的代碼檢測工具,使用它可以避免低級錯誤和統(tǒng)一代碼的風格。這篇文章主要介紹了NodeJs項目中關閉ESLint的方法,需要的朋友可以參考下
    2018-08-08
  • 安裝了node.js但是npm命令不可用的解決方案

    安裝了node.js但是npm命令不可用的解決方案

    這篇文章主要介紹了安裝了node.js但是npm命令不可用的解決方案,文中通過圖文結合的方式給大家介紹的非常詳細,對大家的解決問題有一定的幫助,需要的朋友可以參考下
    2024-03-03
  • node.js中 stream使用教程

    node.js中 stream使用教程

    Stream 是一個抽象接口,Node 中有很多對象實現(xiàn)了這個接口。例如,對http 服務器發(fā)起請求的request 對象就是一個 Stream,還有stdout(標準輸出)。
    2016-08-08
  • Node.js Stream ondata觸發(fā)時機與順序的探索

    Node.js Stream ondata觸發(fā)時機與順序的探索

    今天小編就為大家分享一篇關于Node.js Stream ondata觸發(fā)時機與順序的探索,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Node中fs文件系統(tǒng)模塊的使用方法詳解

    Node中fs文件系統(tǒng)模塊的使用方法詳解

    fs?模塊是?Node.js?官方提供的、用來操作文件的模塊(內置api),它提供了一系列的方法和屬性,用來滿足用戶對文件的操作需求,本文給大家介紹了Node中fs文件系統(tǒng)模塊的使用方法,需要的朋友可以參考下
    2024-03-03
  • Node搭建https服務器實例詳解

    Node搭建https服務器實例詳解

    這篇文章主要介紹了Node搭建https服務器的方法,結合實例形式詳細分析了創(chuàng)建ssl證書以及node.js調用https模塊搭建https服務器的相關操作技巧,需要的朋友可以參考下
    2023-04-04
  • 快速搭建Node.js(Express)用戶注冊、登錄以及授權的方法

    快速搭建Node.js(Express)用戶注冊、登錄以及授權的方法

    這篇文章主要介紹了快速搭建Node.js(Express)用戶注冊、登錄以及授權,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • Node.js中路徑處理模塊path詳解

    Node.js中路徑處理模塊path詳解

    相信大家都知道在nodejs中,path是個使用頻率很高,但卻讓人又愛又恨的模塊。因為部分文檔說的不夠清晰,還有部分因為接口的平臺差異性。本文就給大家詳細介紹下關于Node.js中的路徑處理模塊path,希望能對大家學習或者使用模塊path有所幫助,下面來一起看看吧。
    2016-11-11
  • Node.js使用express寫接口的具體代碼

    Node.js使用express寫接口的具體代碼

    這篇文章主要介紹了Node.js使用express寫接口,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • Node.js使用第三方插件nodemailer實現(xiàn)郵件發(fā)送示例

    Node.js使用第三方插件nodemailer實現(xiàn)郵件發(fā)送示例

    這篇文章主要為大家介紹了Node.js使用第三方插件nodemailer實現(xiàn)郵件發(fā)送示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11

最新評論

宜兰市| 盘山县| 皮山县| 正蓝旗| 宁南县| 长岭县| 甘南县| 旌德县| 蓝田县| 安平县| 闵行区| 多伦县| 施甸县| 卢湾区| 靖边县| 宾川县| 上虞市| 扎囊县| 济宁市| 分宜县| 枝江市| 米脂县| 江川县| 大悟县| 武邑县| 天等县| 额敏县| 霸州市| 黑河市| 汉寿县| 新乡县| 新安县| 呼伦贝尔市| 射洪县| 渭南市| 昌吉市| 阳城县| 龙南县| 凉山| 黄陵县| 镇雄县|