NodeJS+Expres+Socket.io实现HTTP通知websocket客户端
来源:互联网 发布:python和php哪个好学 编辑:程序博客网 时间:2024/05/17 01:16
无聊的时候乱想的,在游戏客户端中调用http接口,及时的通知web端消息。公司的一个需求,虽然因为浏览器的兼容性,放弃了这个方案。下面是个乱写的demo
var app = require('express')();var http = require('http').Server(app);var io = require('socket.io')(http);var events = require('events');var emitter = new events.EventEmitter();var id = null;app.get('/', function(req, res){ res.send('<h1>Welcome Realtime Server</h1>');});//接受app.get("/receiveMessage", function(req, res) { emitter.emit("webreceive", {id:10}); res.send("i can play");});io.on('connection', function(socket){ if(id == null) { id = socket.id; }; //只发给当前客户端 socket.emit("hello", "socket:" + socket.id); //发送给所有连接的客户端 io.emit("hello", "io:" + socket.id); socket.on("disconnect", function() { console.log("a user go out"); }); socket.on("message", function(obj) { io.emit("message", obj); }); emitter.on("webreceive", function(obj) { if(socket.id == id) { socket.emit("message", obj); console.log("i'm webreceive"); } })});http.listen(3000, function(){ console.log('listening on *:3000');});
receiveMessage负责接收通知,然后通知所有的客户端。里面的id是乱写的,可以定义一个对应关系。到这里,作业就完成了。
0 0
- NodeJS+Expres+Socket.io实现HTTP通知websocket客户端
- nodejs+socket.io实现websocket通信初探
- unity Socket.IO+Nodejs+webSocket环境搭建
- nodejs之socket.io模块——实现了websocket协议
- nodejs与websocket的库socket.io的应用
- java|android 使用socket.io-client连接nodejs websocket
- java|android 使用socket.io-client连接nodejs websocket
- nodejs+nodejs-websocket 实现websocket
- Socket实现HTTP客户端
- socket.io + nodes 实现webSocket消息提醒
- Nodejs socket.io 实现私聊:如何给指定客户端发送消息,不是群广播
- Nodejs socket.io 实现私聊:如何给指定客户端发送消息,不是群广播
- nodejs 基于socket.io实现聊天室
- nodejs+socket.io实现数据推送功能
- nodejs+socket.io实现校内局域网聊天室
- nodejs express+socket.io多线程原始实现
- nodejs+socket.io+zmq 实现实时刷新
- WebSocket安卓客户端实现详解(三)--服务端主动通知
- 第十六周项目1-(1)-小玩文件
- 程序状态字PSW
- Binary Search Tree Iterator
- 第一篇博客
- Linux中find常见用法示例
- NodeJS+Expres+Socket.io实现HTTP通知websocket客户端
- Swift 中的变量(var let , Optional)
- Ubuntu14.04中常见问题
- 游戏中存在一种魔法——《游戏设计梦工厂》
- Eclipse调试惯用技巧
- BDD(behaviour driven development), TDD(test driven development)
- 从一道题谈C++中构造函数调用构造函数
- Custom DailyRollingFileAppender with MaxBackupIndex
- 知行合一!如何做好项目经理?