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

基于socket.io和node.js搭建即時通信系統(tǒng)

 更新時間:2014年07月30日 16:47:42   投稿:hebedich  
socket.IO是一個websocket庫,包括了客戶端的js和服務(wù)器端的nodejs。官方地址:http://socket.io

使用socket.io和nodejs搭建websocket服務(wù)器端

socket.io不僅可以搭建客戶端的websocket服務(wù),而且支持nodejs服務(wù)器端的websocket。

下面讓我來介紹一下怎么安裝配置nodejs.

進入http://nodejs.org/#download下載msi文件。一直點next安裝。最后文件會自動安裝在C:\nodejs目錄下。

安裝完成后,會自動配置環(huán)境環(huán)境變量。如果沒有自動配置,自己手動在path處加上 ;C:\nodejs\。

安裝完成后,需要配置npm來管理node.js的模塊。

在window下安裝npm需要安裝git。

安裝完git后,打開gitbush。執(zhí)行下面幾步:

git config --system http.sslcainfo /bin/curl-ca-bundle.crt

git clone --recursive git://github.com/isaacs/npm.git

cd npm

node cli.js install npm -gf

第一個是設(shè)置不會有任何提示,第二步會到github上下載npm會有下載文件和進度,第四步是安裝npm到node.js會復(fù)制幾個文件cmd文件和mode_modules文件夾到nodejs目錄。

這樣就配置好了npm。

如果需要安裝什么模塊直接輸入npm install ***。

沒有npm的或者windows用戶可以使用github下載socket.io并且放入到node_modules文件夾中,具體配置可以參考文章:《nodejs教程:配置nodejs.exe的windows目錄結(jié)構(gòu)》

nodejs安裝socket.io

使用node插件管理包,運行下面的命令就可以安裝成功socket.io

npm install socket.io

用socket.io 實現(xiàn)的一個例子

客戶端代碼:

<html> 

<head> 

  <title></title> 

  <script src="../js/socket.io.client.js"></script> 

  <script type="text/javascript"> 

    function doit() { 

      var socket = io.connect('http://localhost'); 

      socket.on('news', function (data) {//接收到服務(wù)器發(fā)送過來的名為'new'的數(shù)據(jù) 

        console.log(data.hello);//data為應(yīng)服務(wù)器發(fā)送過來的數(shù)據(jù)。 

        socket.emit('my new event', { my:'new data' });//向服務(wù)器發(fā)送數(shù)據(jù),實現(xiàn)雙向數(shù)據(jù)傳輸 

      }); 

      socket.on('other', function (data) {//接收另一個名為'other'數(shù)據(jù), 

        console.log(data.hello); 

        socket.emit('event1', { my:'other data' }); 

      }); 

    } 

  </script> 

</head> 

<body> 

<button id='btn' onclick="doit()">click me</button> 

</body> 

</html> 

socket.io.client.js可以https://github.com/LearnBoost/socket.io-client下載到本地,在<script src="..">指向本機的js庫。

服務(wù)器用nodejs實現(xiàn)

server2.js

var http= require('http'), io= require('socket.io'), express= require('express'); 

var app = express.createServer(), io = io.listen(app); 

app.listen(80); 

io.sockets.on('connection', function (socket) { 

 socket.emit('news', { hello: 'world' });//監(jiān)聽,一旦客戶端連接上,即發(fā)送數(shù)據(jù),第一個參數(shù)'new'為數(shù)據(jù)名,第二個參數(shù)既為數(shù)據(jù) 

 socket.on('my other event', function (data) {//捕獲客戶端發(fā)送名為'my other event'的數(shù)據(jù) 

  console.log(data.my); 

 }); 

 socket.emit('other', { hello: 'other world' });//發(fā)送另一個數(shù)據(jù) 

 socket.on('evnet1', function (data) {//捕獲另外一個數(shù)據(jù) 

  console.log(data.my); 

 }); 

}); 

測試結(jié)果,客戶端可正常顯示

服務(wù)器端顯示結(jié)果:

C:\java\Nodejs>node server2.js

注:代碼要和npm_module在同一個目錄下。不然會出現(xiàn)找不到socket.io module的錯誤。

相關(guān)文章

  • Postman xmysql不切換環(huán)境緩存數(shù)據(jù)到本地

    Postman xmysql不切換環(huán)境緩存數(shù)據(jù)到本地

    這篇文章主要為大家介紹了Postman xmysql不切換環(huán)境緩存數(shù)據(jù)到本地示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • 詳解nodejs 文本操作模塊-fs模塊(五)

    詳解nodejs 文本操作模塊-fs模塊(五)

    本篇文章主要介紹了nodejs 文本操作模塊-fs模塊(五),這里再說最后一個我看來很重要的方法,監(jiān)聽文件或者目錄的的方法watchFile。有興趣的可以了解一下。
    2016-12-12
  • 詳解基于electron制作一個node壓縮圖片的桌面應(yīng)用

    詳解基于electron制作一個node壓縮圖片的桌面應(yīng)用

    這篇文章主要介紹了詳解基于electron制作一個node壓縮圖片的桌面應(yīng)用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • NodeJS簡單實現(xiàn)WebSocket功能示例

    NodeJS簡單實現(xiàn)WebSocket功能示例

    這篇文章主要介紹了NodeJS簡單實現(xiàn)WebSocket功能,結(jié)合具體實例形式分析了nodejs實現(xiàn)WebSocket通信功能的客戶端與服務(wù)器端相關(guān)操作技巧,需要的朋友可以參考下
    2018-02-02
  • Express框架實現(xiàn)簡單攔截器功能示例

    Express框架實現(xiàn)簡單攔截器功能示例

    這篇文章主要介紹了Express框架實現(xiàn)簡單攔截器功能,結(jié)合實例形式分析了express框架攔截器相關(guān)功能與使用方法,需要的朋友可以參考下
    2023-05-05
  • NodeJs form-data格式傳輸文件的方法

    NodeJs form-data格式傳輸文件的方法

    這篇文章主要介紹了NodeJs form-data格式傳輸文件的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • node.js正則表達式獲取網(wǎng)頁中所有鏈接的代碼實例

    node.js正則表達式獲取網(wǎng)頁中所有鏈接的代碼實例

    這篇文章主要介紹了node.js正則表達式獲取網(wǎng)頁中所有鏈接的代碼實例,使用正則表達式實現(xiàn),需要的朋友可以參考下
    2014-06-06
  • 如何利用node.js開發(fā)一個生成逐幀動畫的小工具

    如何利用node.js開發(fā)一個生成逐幀動畫的小工具

    這篇文章主要給大家介紹了關(guān)于如何利用node.js開發(fā)一個生成逐幀動畫小工具的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用node.js具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • node版本下報錯build: `vue-cli-service build`問題及解決

    node版本下報錯build: `vue-cli-service build`問題及解決

    這篇文章主要介紹了node版本下報錯build: `vue-cli-service build`問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Node.js全局處理響應(yīng)并進行異常管理

    Node.js全局處理響應(yīng)并進行異常管理

    這篇文章主要為大家介紹了Node.js全局處理響應(yīng)并進行異常管理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04

最新評論

重庆市| 吉林省| 汾西县| 马关县| 化隆| 唐海县| 鹤山市| 会东县| 哈巴河县| 巴彦县| 东莞市| 白水县| 灵寿县| 新竹县| 会宁县| 新巴尔虎右旗| 宜丰县| 拉萨市| 静宁县| 鹤庆县| 凤庆县| 丹凤县| 商南县| 宁津县| 湘乡市| 辽宁省| 曲松县| 贺州市| 建宁县| 北碚区| 宣化县| 简阳市| 湖南省| 聊城市| 天柱县| 常熟市| 当雄县| 朝阳市| 德庆县| 靖江市| 县级市|