麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

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

2019-11-20 14:18:37
字體:
供稿:網(wǎng)友

使用socket.io和nodejs搭建websocket服務器端

socket.io不僅可以搭建客戶端的websocket服務,而且支持nodejs服務器端的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.crtgit clone --recursive git://github.com/isaacs/npm.gitcd npmnode cli.js install npm -gf

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

這樣就配置好了npm。

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

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

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) {//接收到服務器發(fā)送過來的名為'new'的數(shù)據(jù)         console.log(data.hello);//data為應服務器發(fā)送過來的數(shù)據(jù)。         socket.emit('my new event', { my:'new data' });//向服務器發(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庫。

服務器用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);  }); }); 

測試結果,客戶端可正常顯示

服務器端顯示結果:

C:/java/Nodejs>node server2.js

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 二区视频| 中文字幕亚洲一区二区三区 | 香蕉久久久精品 | 久久综合久久美利坚合众国 | 72pao成人国产永久免费视频 | 日韩视频一区 | 久久密| 亚洲电影免费观看国语版 | 色综av| 精品久久999 | 国产精品视频1区 | 午夜视频啊啊啊 | 成人国产精品一区 | 日本视频免费观看 | 欧美一级免费在线观看 | 成人福利视频网站 | 成人福利在线视频 | 欧美亚洲国产一区二区三区 | 97se亚洲综合在线韩国专区福利 | 小视频免费在线观看 | 久久不雅视频 | 久久成人综合视频 | 99麻豆久久久国产精品免费 | 亚洲国产网址 | 久久69精品久久久久久国产越南 | 最新黄色毛片 | 亚洲精品欧美在线 | 国内精品久久久久久久久久久久 | 精品麻豆cm视频在线看 | 欧美成人一区二区视频 | av中文字幕免费在线观看 | 日韩视频在线观看免费 | 精品国产一区二区三区四 | 毛片大全在线观看 | 久久色伦理资源站 | 看一级毛片 | 亚洲一区二区免费 | 欧美一级二级毛片视频 | 国产精品av久久久久久无 | 欧美1区2区 | 免费在线观看中文字幕 |