socket.io node.js实时消息信息展示
2017-04-21 16:11
477 查看
首先我们需要安装socket模块
安装命令: npm install socket.io编辑前台页面:index.html<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>统计在线人数</title>
<script src="http://localhost:3000/socket.io/socket.io.js"></script>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
// 创建websocket连接
var socket = io.connect('http://localhost:3000');
// 把信息显示到div上
socket.on('onlinenums', function (data) {
$("#nums").html(data.nums);
});
</script>
</head>
<body>
当前在线人数:<span style="color: red;" id="nums">0</span>
</body>
</html>
服务端的:index.js
volatile 意思大概是说,当服务器发送数据时,客户端因为各种原因不能正常接收,比如网络问题、或者正处于长连接的建立连接阶段。此时会让我们的应用变得 suffer,那就需要考虑发送 volatile
数据。
![](https://img-blog.csdn.net/20160320203339423?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
启动web服务器,访问index.html:
![](https://img-blog.csdn.net/20160320203819523?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
再打开一个窗口打开这个链接:
![](https://img-blog.csdn.net/20160320203908634?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
服务端打印日志信息:
![](https://img-blog.csdn.net/20160320204816628?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
node 的socket.io模块使用起来非常简单方便,把我们需要交互的实时信息推送到前端的页面。
安装命令: npm install socket.io编辑前台页面:index.html<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>统计在线人数</title>
<script src="http://localhost:3000/socket.io/socket.io.js"></script>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
// 创建websocket连接
var socket = io.connect('http://localhost:3000');
// 把信息显示到div上
socket.on('onlinenums', function (data) {
$("#nums").html(data.nums);
});
</script>
</head>
<body>
当前在线人数:<span style="color: red;" id="nums">0</span>
</body>
</html>
服务端的:index.js
volatile 意思大概是说,当服务器发送数据时,客户端因为各种原因不能正常接收,比如网络问题、或者正处于长连接的建立连接阶段。此时会让我们的应用变得 suffer,那就需要考虑发送 volatile
数据。
var app = require('http').createServer(handler), io = require('socket.io').listen(app), fs = require('fs'); //当前在线人数 var onlineCount = 0; function handler (req, res) { fs.readFile(__dirname + '/index.html', function (err, data) { if (err) { res.writeHead(500); return res.end('Error loading index.html'); } res.writeHead(200); res.end(data); }); } //连接事件 io.sockets.on('connection', function (socket) { console.log('有新用户进入...'); //叠加当前在线人数 onlineCount++; var tweets = setInterval(function () { socket.volatile.emit('onlinenums', {nums : onlineCount}); }, 1000); console.log('当前用户数量:'+onlineCount); //客户端断开连接 socket.on('disconnect', function() { if(onlineCount > 0 ){ //当前在线用户减一 onlineCount--; console.log('当前用户数量:'+onlineCount); } }); }); //启动HTTP服务,绑定端口3000 app.listen(3000, function(){ console.log('listening on *:3000'); });运行index.js:
启动web服务器,访问index.html:
再打开一个窗口打开这个链接:
服务端打印日志信息:
node 的socket.io模块使用起来非常简单方便,把我们需要交互的实时信息推送到前端的页面。
相关文章推荐
- nodejs+socketio+redis实现前端消息实时推送
- nodejs+socketio+redis实现前端消息实时推送
- 基于Nodejs的高并发实时消息转发系统 message pusher and written in nodejs based on socket.io and express
- [转载]使用node.js+socket.io搭建实时消息系统
- 使用Node.js+Socket.IO搭建WebSocket实时应用 分类: Android网络 2014-06-29 12:25 144人阅读 评论(0) 收藏
- 使用Node.js+Socket.IO搭建WebSocket实时应用
- 使用Node.js+Socket.IO搭建WebSocket实时应用
- 使用 Node.js 和 Socket.IO 实现 Django 的实时处理
- 使用Node.js+Socket.IO搭建WebSocket实时应用【转载】
- 使用Node.js的socket.io模块开发实时web程序
- 使用Node.js+Socket.IO搭建WebSocket实时应用
- 使用Node.js+Socket.IO搭建WebSocket实时应用
- node.js中的socket.io的广播消息
- 使用Node.js+Socket.IO搭建WebSocket实时应用
- 使用Node.js+Socket.IO搭建WebSocket实时应用
- 用node.js(socket.io)实现数据实时推送
- 使用Node.js和Socket.IO扩展Django的实时处理功能
- 使用Node.js+Socket.IO搭建WebSocket实时应用
- NodeJS + Socket.IO 消息推送
- 10023---使用Node.js+Socket.IO搭建WebSocket实时应用