node.js – 如何使用最新的mean.io来使用socket.io?

前端之家收集整理的这篇文章主要介绍了node.js – 如何使用最新的mean.io来使用socket.io?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经获取了最新的Mean.io的副本,并且与之前使用过的版本相比,我注意到了很多变化.现在,我正在做的是创建一个非常基本的聊天应用程序,使用 socket.io房间.按照Socket文档中的基本设置,我必须实现以下内容
var app = require('express')(),server = require('http').createServer(app),io = require('socket.io').listen(server);

server.listen(80);

app.get('/',function (req,res) {
  res.sendfile(__dirname + '/index.html');
});

io.sockets.on('connection',function (socket) {
  socket.emit('news',{ hello: 'world' });
  socket.on('my other event',function (data) {
    console.log(data);
  });
});

我在哪里定义基本的插座房设置?

socket.set("log level",1);  
var people = {};  
var rooms = {};  
var clients = [];

解决方法

您可以将socket.io设置为在服务器上侦听
/server/config/system/bootstrap.js

需要socket.io模块

var express = require('express'),appPath = process.cwd(),io      = require('socket.io');

现在设置socket.io来监听你的应用程序

// Express settings
var app = express(); 
require(appPath + '/server/config/express')(app,passport,db);
io = io(app.listen(3000));    

return io;

然后,您需要在bootstrapDependencies()函数中将socket.io对象注入到您的应用程序中.

function bootstrapDependencies() {
    ...

    // Register socket.io dependency
    mean.register('io',function() {
        return io;
    });
}

Mean.uses这个项目的依赖注入
https://www.npmjs.org/package/dependable

最后,您需要配置应用程序以侦听每个套接字连接
可能你想在主应用程序的路由器上执行这些操作

/server/routes/index.js

示例连接处理程序

var io = require('meanio').io;

io.on('connection',function (socket) {
    // emit data to the clients
    socket.emit('news',{ hello: 'world' });

    // event listeners
    socket.on('my other event',function (data) {
         // call your controller function here
         Controller.action(data);
    });
});

更重要的是,不要忘记在客户端设置socket.io.

// on '/server/views/includes/foot.html'
<script src='/socket.io/socket.io.js'></script>
<script>
    var socket = io();
</script>

猜你在找的Node.js相关文章