首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用node.js、快递、套接字实现通知系统

使用node.js、快递、套接字实现通知系统
EN

Stack Overflow用户
提问于 2016-04-29 06:45:56
回答 1查看 9.7K关注 0票数 1

我正在尝试添加一个通知系统。如果用户登录并执行操作,则如果他已登录,则应向另一个用户发送通知。我已经使用快递在node.js中进行了应用。我知道我必须使用套接字,但是事件需要如何处理呢?如果有人能让我知道任何参考或样本,我可以跟踪这项任务?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-29 07:17:21

我只是做了一些类似的事情,并这样处理:

io.js -中心node.js文件,在这里我处理新的连接并存储io

代码语言:javascript
复制
var io = require('socket.io')();

io.on('connection', function(socket){
 console.log("Socket established with id: " + socket.id);

 socket.on('disconnect', function () {
  console.log("Socket disconnected: " + socket.id);
 });

});

module.exports = io;

someroute.js -在node.js服务器应用程序中,我想发出消息

代码语言:javascript
复制
var appRoot = require('app-root-path');
var io = require(appRoot + '/server/io');

/*your code, somwhere you will call the
 * function below whenever you want to emit
 * the 'user_did_action' event:
*/
if(user.didNewStuff()){
 emitUserAction(user);
}

var emitUserAction = function(user){
  io.sockets.emit('user_did_action', user);
};

client_javascript.js -一些客户机js (在我的例子中是角的,但这并不重要),导入socket.io库,然后访问客户机中的某个地方,如下所示:

代码语言:javascript
复制
/*connect to the server*/
var socket = io.connect();

/*do something wen the event 'user_did_action'
 * is received, just invoke the callback
 *
 *in the function param data, you will have the same
 *data you emitted earlier in the server, 
 *in this example the user object!*/
socket.on('user_did_action', myFunctionToHandleTheEvent(data));
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36931311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档