2016-01-02 5 views
0

Я пытаюсь изучить основы node.js и socket.io. Я использовал этот урок http://tutorialzine.com/2012/08/nodejs-drawing-game/Localhost не работает с node.js и socket.io

полный код для этой проблемы можно увидеть по ссылке выше.

Я могу создать базовый веб-сервер с node.js и получить его, чтобы вернуть мир привет, поэтому я уверен, что он установлен правильно. Однако при установке этих пакетов

npm install [email protected] node-static

и настройке ServerSide JS, как указано

var app = require('http').createServer(handler), 
io = require('socket.io').listen(app), 
nstatic = require('node-static'); 

var fileServer = new nstatic.Server('./'); 

app.listen(8080); 

Я просто получить это приглашение в моем ЦМД и постоянно висит веб-браузера, а не страницы HTML, что должен быть подан. Я думаю, что я, возможно, испортил установку, но, глядя на список установленных пакетов в npm, он утверждает, что присутствуют как socket.io, так и node-static.

enter image description here

+0

Какое имя файла '.html' вы хотите загрузить в'./'? – Catalyst

+0

Это называется home.html – Pudding

ответ

1

ниже код должен быть более эффективным ?, это выглядит, как вы упускаете часть обработчика. Ответ должен быть явно завершен или запросы браузера будут вечно вечно, как вы видите. Узел-статический метод file.serve управляет запросом после его передачи. Источником .serve здесь: https://github.com/cloudhead/node-static/blob/master/lib/node-static.js#L164

var app = require('http').createServer(handler), 
io = require('socket.io').listen(app), 
nstatic = require('node-static'); 

app.listen(8080); 
var file = new nstatic.Server('./'); 

function handler(request, response) { 
    request.addListener('end', function() { 
     file.serve(request, response); 
    }).resume(); 
} 

console.log('started') 

Следует также отметить, что по умолчанию файл служить для ответов на / является index.html.

+0

Дальнейшее обсуждение примера использования node-static можно найти здесь: http://stackoverflow.com/questions/15419882/node-static-example – Catalyst

+0

Извините, что забыл включить обработчик в вопрос. После переименования html-страницы он теперь работает. Спасибо за вашу помощь. – Pudding

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