node.js基于express使用websocket的方法
本文實(shí)例講述了node.js基于express使用websocket的方法。分享給大家供大家參考,具體如下:
這個(gè)效果我也是翻了好長(zhǎng)時(shí)間的資料,測(cè)試才成功的,反正成功,大家看看吧
首先你需要安裝socket.io模塊
npm install socket.io --save
然后打開(kāi)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里面啟動(dòng),所以在app.js里面又添加了幾行代碼,添加到底部的倒數(shù)第二行以上
var port = 3000;
app.set('port', port);
server.listen(port);
這就開(kāi)始監(jiān)聽(tīng)3000端口了
這樣,準(zhǔn)備工作已經(jīng)完成了,然后開(kāi)始進(jìn)行示例
用官方的示例代碼測(cè)試,可以直接寫(xiě)到app.js里面
io.on('connection', function (socket) {
socket.emit('news', { hello: 'world1' });
socket.on('my other event', function (data) {
console.log(data);
});
});
服務(wù)端的準(zhǔn)備工作已經(jīng)完成,在客戶(hù)端頁(yè)面首先將socket.js文件引入
<script src='javascripts/socket.io-1.4.5.js'></script>
var socket = io.connect("http://localhost:3000");
socket.on('news', function (data) {
console.log(data);
alert(data);
socket.emit('my other event', { my: 'data' });
});
然后打開(kāi)頁(yè)面測(cè)試一下
如果想只在一個(gè)頁(yè)面里服務(wù)端發(fā)送信息,可以這么寫(xiě)
router.get('/', function(req, res, next) {
//只有當(dāng)前頁(yè)面可以獲得
res.io.on('connection', function(socket) {
socket.emit('news', {
hello: 'world'
});
socket.on('my other event', function(data) {
console.log(data);
});
});
//所有頁(yè)面都可以獲得
var io = require("../app").io;
io.emit("news",{hello:"myworld"});
res.render("pclogin.ejs", {});
});
希望本文所述對(duì)大家nodejs程序設(shè)計(jì)有所幫助。
相關(guān)文章
node強(qiáng)緩存和協(xié)商緩存實(shí)戰(zhàn)示例
這篇文章主要為大家介紹了node強(qiáng)緩存和協(xié)商緩存實(shí)戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
node的process以及child_process模塊學(xué)習(xí)筆記
這篇文章主要介紹了node的process以及child_process模塊學(xué)習(xí)筆記,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
nodejs實(shí)現(xiàn)的http、https 請(qǐng)求封裝操作示例
這篇文章主要介紹了nodejs實(shí)現(xiàn)的http、https 請(qǐng)求封裝操作,結(jié)合實(shí)例形式分析了node.js針對(duì)http、https 請(qǐng)求的封裝與使用相關(guān)操作技巧,需要的朋友可以參考下2020-02-02
簡(jiǎn)單模擬node.js中require的加載機(jī)制
大家都知道Node 采用的模塊化結(jié)構(gòu)是按照 CommonJS 規(guī)范,模塊與文件是一一對(duì)應(yīng)關(guān)系,即加載一個(gè)模塊,實(shí)際上就是加載對(duì)應(yīng)的一個(gè)模塊文件。這篇文章顯示簡(jiǎn)單的介紹了nodejs中require的加載機(jī)制,而后簡(jiǎn)單的模擬require函數(shù),有需要的朋友們下面來(lái)一起看看吧。2016-10-10

