var express = require('express') |
, routes = require('./routes') |
, http = require('http') |
, path = require('path') |
, socketio = require('socket.io') |
, mqtt = require('mqtt'); |
// Express server |
var app = express(); |
// Http server |
var server = http.createServer(app); |
// Socket.io |
var io = socketio.listen(server); |
// all environments |
app.set('port', process.env.PORT || 3000); |
app.set('views', __dirname + '/views'); |
app.set('view engine', 'jade'); |
app.use(express.favicon()); |
app.use(express.logger('dev')); |
app.use(express.bodyParser()); |
app.use(express.methodOverride()); |
app.use(app.router); |
app.use(express.static(path.join(__dirname, 'public'))); |
// development only |
if ('development' == app.get('env')) { |
app.use(express.errorHandler()); |
} |
app.get('/', routes.index); |
io.sockets.on('connection', function(socket) { |
var client = mqtt.createClient(); |
socket.on('publish', function(topic, message) { |
client.publish(topic, message); |
}); |
socket.on('subscribe', function (topic) { |
client.subscribe(topic); |
}); |
client.on('message', function(topic, message) { |
socket.emit('message', topic, message); |
}); |
}); |
server.listen(app.get('port'));
一篇好的git共享代码: https://github.com/adamvr/bearded-dangerzone/blob/master/app.js |
- 浏览: 374893 次
- 性别:
- 来自: 天津
最新评论
-
小小西芹菜:
想要建立实时web,推荐GoEasy的web实时推送,他们是专 ...
用node.js(socket.io)实现数据实时推送 -
gaoyaohuachina:
教训的是!
修改linux的用户名 -
hongtoushizi:
gaoyaohuachina 写道不明白你在干吗,改名字直接新 ...
修改linux的用户名 -
gaoyaohuachina:
不明白你在干吗,改名字直接新建一个用户,把原来用户user d ...
修改linux的用户名 -
wukele:
Mark....
总结比较常用实用的js库
相关推荐
2. **Socket.IO**: Socket.IO 是一个实时应用库,支持WebSocket和其他降级技术,确保在客户端和服务器之间实现实时、双向通信。在本项目中,Socket.IO用于建立持久连接,使得dashboard可以实时接收并更新来自MQTT...
mqtt-realtime-chart-server是一个Express.js-MQTT-Socket.io应用程序,可与结合使用。 产品特点 服务器 发布并订阅MQTT主题(例如,电压) 使用websockets将收到的消息转发给客户端 客户 多系列折线图实时数据...
描述该Node.js实现的代理是从MQTT和Influx数据库到socket.io的桥梁。 该服务器是MQTT代理的代理,并中继连接的客户端请求的所有消息。 我还可以从一个或多个涌入数据库中提取历史数据。 socker.io的使用允许从...
实现 MQTT-to-socket.io 桥以将 MQTT 主题公开给 Socket.io 的 mqtt.js 客户端 过滤器的节点红色流 以下是向 MQTT 计数器主题 (get/ESP8266/counterValue) 添加过滤值主题 (get/ESP8266/filterValue) 的 Node-Red ...
**AIOJS库详解** AIOJS(全称All-in-One ...总结来说,AIOJS是一个为物联网开发者打造的高效工具,它通过集成MQTT和Socket.IO,提供了强大的设备管理和通信能力,使JavaScript开发者能够在物联网领域更加游刃有余。
在JavaScript开发中,MQTT-connected-socket.io库扮演了重要的角色,它使得开发者能够利用Socket.IO的易用性和灵活性,同时享受到MQTT协议的低功耗和高效性。这对于构建大规模、低延迟的实时Web应用,如在线聊天、...
通过Socket.io将Android手机传感器数据发送到NodeJS服务器和Web界面/ GUI的界面 概括 用于运行脚本 这允许通过命令行读取传感器(以及更多) Node js运行child_process以从内置运动传感器读取数据,并通过socket....
Web界面和服务器,用于使用Node.js和Socket.io发布/订阅MQTT消息,以实现家庭自动化。 index.html页面使用Web套接字通过node.js连接到侦听服务器WebMQonttrol_server.js 。 服务器创建与MQTT代理的连接,并从/向连接...
现在,Ninja Blocks不再存在了,该项目将使您能够利用Ninja Block将Socket.IO,MQTT和webhooks(TBD)的RF433消息桥接到另一个系统。它是如何工作的其实很简单。 忍者斗篷通过序列发布消息到Beagleboard。 该模块...
特性:支持 MQTT V3.1/V3.1.1 协议QoS0, QoS1, QoS2 发布和订阅TCP/SSL Socket 支持自动重连Keepalive 和 ping/pong示例:%% connect to broker {ok, C} = emqttc:start_link([{host, "localhost"}, {client...
通过集成Netty-SocketIO,开发者可以利用Netty的强大功能来实现Socket.IO服务器,从而实现全平台的消息推送。 以下是一些关于如何基于Netty-SocketIO进行全平台消息推送的关键知识点: 1. **依赖管理**: - 在...
nesh-sfd-demo SFD 2015的Node,Express,Socket.io,HighChart演示 该项目与Aryan Limjap(@hadronp)完成的Arduino,Python,Mqtt实现配对。 @请参阅
3. 跨平台通信:由于MQTT和Socket.IO都支持多种平台,因此此系统可以无缝支持PC和移动设备。用户只需在不同平台上使用相同的账号登录,即可实现跨平台的聊天体验。 四、扩展性与优化 1. 消息持久化:为了防止因...
"mqtt-socketIo-im"项目结合了两种流行的实时通信技术:MQTT(Message Queuing Telemetry Transport)和Socket.IO,构建了一个即时通讯(IM)系统。接下来,我们将深入探讨这两个技术及其在该项目中的应用。 **MQTT...
1. **使用polyfill**:可以引入WebSocket的JavaScript库,如Socket.io,它会自动检测浏览器是否支持WebSocket,并在不支持的情况下回退到其他协议(如MQTT、Long Polling等)。 2. **后端代理**:在服务器端实现一...
MQTT 服务器:EMQX Broker 4.1、NodeJS、Express、Socket.io、MongoDB MQTT 客户端:SDK: MTQQ.js,Vue、JavaScript 等 用户登录 -> 从数据库检索用户是否存在:存在则检查密码,不存在则创建用户 客户端发送消息 ->...
Node.js 我在此存储库中使用了Node.js,Express.js,Socket.io和Mqtt.js和Mysql。这里我们有: Node.js和Express.js基础使用Express.js和Socket.io的简单Mqtt客户端使用Express.js和Socket.io的简单聊天应用...贡献...
通过本项目的构建过程,开发者不仅能掌握如何使用Node.js和WebSocket来创建实时通讯服务,还将学会利用express和socket.io等热门框架来快速搭建Web应用。项目完成后,用户将能够在浏览器中打开一个网页,与其他用户...
yk1932.github.io 是一个基于GitHub Pages的个人网站,专门用于展示和分享与通讯相关的实验和技术。这个网站可能是由一位对通信技术有深厚兴趣的个人或团队创建的,用以提供学习资源、教程或者项目实践。由于标签是...
在实际应用中,你可以根据项目需求,结合MQTT客户端库(如Paho MQTT或mosquitto)来开发设备端程序,利用WebSocket库(如socket.io)构建Web应用,通过HiveMQ作为中介实现两者之间的无缝通信。同时,HiveMQ的灵活性...