Вопрос по javascript, node.js, express – node.js: socket.io vs express.static

8

У меня работает следующий server.js:

module.exports = server;

var express = require('express');
var fs = require('fs');

var server = express.createServer();    

var port = 58000;
server.listen(port);

var io = require('socket.io').listen(server);

server.use(express.static('/', __dirname + '/../public'));

server.use(express.logger());

io.on('connection', function(client){
    console.log('new client connected ' + client);
    client.on('message', function(){
        console.log('client wants something');
    });
});

Простой сервер express.static для файлов в подпапке / public, плюс функция socket.io. При такой настройке любой запрос на «a.set.io.js» ошибка файла, т.е.

http://localhost:58000/socket.io/socket.io.js

возвращает ошибку 404 (файл не найден). Статический файловый сервер работает правильно. Если я просто использую «http» apos; модуль вместо «экспресс»; (комментируя строки express.static и express.logger) socket.io.js обслуживается правильно. Как я могу объединить обе функции?

Ваш Ответ

2   ответа
3

Вот это вопрос, очень похожий на ваш, который дает ответ.

var express = require('express')
  , http = require('http');

var app = express();
var server = http.createServer(app);
var io = require('socket.io').listen(server);

...

server.listen(8000);
0

Моя сторона это прекрасно работает с

[email protected] 
[email protected] 
[email protected]

В противном случае решение можно назватьvar io = require('socket.io').listen(server); после вашегоserver.use

Error: User Rate Limit Exceeded daaanipm
Error: User Rate Limit Exceeded

Похожие вопросы