【发布时间】:2015-11-02 19:49:10
【问题描述】:
我正在尝试将 socket.io 与 express 一起使用,但我无法使其工作
这是我的文件:
roo:/app.js
var express = require('express');
var session = require('express-session');
var path = require('path');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
//Routes files
var maketurn = require('./routes/maketurn');
var app = express();
var io = require('socket.io').listen(app.listen(3000));
// view engine setupe
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/maketurn', maketurn);
module.exports = app;
这是我的控制器(路由器)
roo:/routes/maketurn.js
var express = require('express');
var router = express.Router();
var socketio = require('socket.io');
var app = express();
var server = app.listen(8088, function () {
console.log("Express server listening on port and socket " + 3000);
});
var io = socketio.listen(server);
router
.get('/', function (req, res) {
io.on('connection', function (socket) {
console.log('conectado el pendejo');
socket.emit('news', {hello: 'world'});
socket.on('my other event', function (data) {
});
});
res.render('turns/maketurn', {title: 'Make Turn'});
})
module.exports = router;
这是我的模板(客户端):
根:views/turns/maketurn.jade
extends ../layouts/turns
block content
script.
var socket = io.connect('httt://localhost:8088/maketurn');
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', {my: 'data'});
});
socket.on('connection', function (data) {
console.log(data);
socket.emit('my other event', {my: 'data'});
});
.container
form(method='post' action='#' role='form' id='turn')
.wsn-form-control
label Nombre y apellido
input(name='name' type='text' id='name')
【问题讨论】:
-
“不能让它工作”告诉我们什么。究竟发生了什么/没有发生什么?
-
您创建了两个独立的
app变量并尝试在不同的端口上启动两个Web 服务器和两个socket.io 侦听器。这真的是你想要的吗? -
大家好,我想启动一个公正的监听器,并在各种视图或视图控制器中使用它。
标签: node.js express socket.io pug