2015-04-13 14 views
0

Привет, я получаю следующую ошибку при попытке следовать примеру на node.js Я добавил socket.io в экспресс-решение, но всякий раз, когда я пытаюсь запустить его, я получаю следующую ошибку. После некоторых исследований по подобным вопросам я пришел к выводу, что я могу добавить что-то в заголовок в неподходящее время, но у меня был сервер до socket.io без проблем.Ошибка «Невозможно установить заголовки после их отправки».

Те ошибки

info - socket.io started 

http.js:690 
    throw new Error('Can\'t set headers after they are sent.'); 
    ^
Error: Can't set headers after they are sent. 
    at ServerResponse.OutgoingMessage.setHeader (http.js:690:11) 
    at ServerResponse.res.setHeader (/home/piero/dev/workspace/authentication/node_modules/express/node_modules/connect/lib/patch.js:62:20) 
    at next (/home/piero/dev/workspace/authentication/node_modules/express/node_modules/connect/lib/http.js:171:13) 
    at /home/piero/dev/workspace/authentication/node_modules/express/node_modules/connect/lib/middleware/static.js:150:11 
    at Object.oncomplete (fs.js:108:15) 

стек

, "dependencies": {  
"jquery" : "1.7.3" 
, "cookie" : "0.0.4" 
, "dnode" : "1.0.0" 
, "mocha" : "1.3.0" 
, "should" : "1.0.0" 
, "socket.io" : "0.9.10" 
, "ejs" : "0.7.1" 
, "express": "2.5.8" 
, "mongodb" : "1.0.2"  
} 

Пожалуйста, дайте мне знать, если вы видите какие-либо проблемы в конфигурации, прежде чем начать публиковать больше кода. Спасибо!

+0

Вы пытаетесь обслуживать клиентский код 'socket.io' из статического промежуточного программного обеспечения? – robertklep

+0

У меня есть следующее: nocklib.createSocket (app.listen (3000)); , где он делает ... createSocket: функция (приложение) { \t \t Io = требуется ('') Socket.io .listen (приложение); ... и в .js вар розеткой = io.connect ('http: // localhost'); –

ответ

0

Я обновил зависимости и, похоже, сделал трюк. Я изменил выражение с версии 2 на 3 и теперь работает. Не уверен, что это путь, потому что я не понимаю, что случилось, но сейчас работает.

0

Это происходит из-за вызова res.send дважды.

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