您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關怎么在node.js項目中利用express使用websocket,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
首先需要安裝socket.io模塊
npm install socket.io --save
然后打開express的app.js將模塊引入,在12行左右的
var app = express();
下面添加兩行
var server = require('http').Server(app); var io = require('socket.io')(server);
然后在20多行里面添加
app.use(function(req, res, next){ res.io = io; next(); });
由于本人不喜歡從www里面啟動,所以在app.js里面又添加了幾行代碼,添加到底部的倒數第二行以上
var port = 3000; app.set('port', port); server.listen(port);
這就開始監聽3000端口了
這樣,準備工作已經完成了,然后開始進行示例
用官方的示例代碼測試,可以直接寫到app.js里面
io.on('connection', function (socket) { socket.emit('news', { hello: 'world1' }); socket.on('my other event', function (data) { console.log(data); }); });
服務端的準備工作已經完成,在客戶端頁面首先將socket.js文件引入
<script src='javascripts/socket.io-1.4.5.js'></script> var socket = io.connect("//localhost:3000"); socket.on('news', function (data) { console.log(data); alert(data); socket.emit('my other event', { my: 'data' }); });
然后打開頁面測試一下
如果想只在一個頁面里服務端發送信息,可以這么寫
router.get('/', function(req, res, next) { //只有當前頁面可以獲得 res.io.on('connection', function(socket) { socket.emit('news', { hello: 'world' }); socket.on('my other event', function(data) { console.log(data); }); }); //所有頁面都可以獲得 var io = require("../app").io; io.emit("news",{hello:"myworld"}); res.render("pclogin.ejs", {}); });
看完上述內容,你們對怎么在node.js項目中利用express使用websocket有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。