2015-06-27 5 views
0

Я пытаюсь подключить wamp-сервер на localhost, который является html-страницей.socket.io http listen on localhost

До сих пор у меня есть это:

//SOCKET.IO Setup 
var app = require('express')(); 
var http = require('http').Server(app); 
var io = require('socket.io')(http); //initialise after http server 

io.on('connection', function(socket){ 
    console.log('a user connected'); 
    socket.on('disconnect', function(){ 
    console.log('user disconnected'); 
    }); 
}); 
http.listen('/wheel', function(){ 
    console.log('listening on */wheel'); 
}); 

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

У меня есть HTML-страницу в WWW/колеса и страницы HTML называется wheel.html

Это ошибка, я получаю:

[17:08:51] error - Error: listen EACCES 
    at exports._errnoException (util.js:746:11) 
    at Server._listen2 (net.js:1139:19) 
    at listen (net.js:1182:10) 
    at Server.listen (net.js:1261:5) 
    at Object.<anonymous> (C:\Family\wheel.js:14:6) 
    at Module._compile (module.js:460:26) 
    at Object.Module._extensions..js (module.js:478:10) 
    at Module.load (module.js:355:32) 
    at Function.Module._load (module.js:310:12) 
    at Function.Module.runMain (module.js:501:10) 

Как правильно подключиться к веб-каталогу в моем localhost с помощью socket.io? Она работает, когда я использую разъем и порт:

http.listen(1000, function(){ 
    console.log('listening on *:1000'); 
}); 

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

ответ

1

Проблема заключается в том, что вы пытаетесь сделать сервер HTTP прослушивать UNIX socket называется /wheel, и вы не имеете необходимые права для создания этого файла ,

Если вы хотите, чтобы иметь возможность служить файл HTML, когда клиент вызывает / на сервере (который, например, прослушивает порт 3000):

http.listen(3000); 
... 
app.get('/', function(req, res){ 
    res.sendfile('./www/wheel/wheel.html'); 
}); 
+0

Эй! Это дает больше пользы. Моя основная проблема заключается в том, что я переместил nodule_modules в каталог/www /, потому что для html-файла требуется «socket.io/socket.io.js». Но когда я заглядываю в /node_modules/socket.io, файл socket.io.js отсутствует. Однако он находится внутри C: \ wamp \ www \ node_modules \ socket.io \ node_modules \ socket.io.js –

+0

В принципе, я не могу указать пути к каталогу wamp www? –

+0

@BradlySpicer socket.io автоматически «поймает» запросы на клиентский .js-файл и обработает его для вас, вам ничего не нужно для этого. Для общей статической обработки файлов вы можете посмотреть промежуточное программное обеспечение Express '['static'] (http://expressjs.com/starter/static-files.html). – robertklep

Смежные вопросы