2013-04-28 50 views
2

爲什麼socket.io現在提供500(內部服務器錯誤)與express.io?爲什麼socket.io錯誤500與express.io?

客戶端:

$(document).ready(function(){ 
    $.getScript("http://www.mysite.com:8000/socket.io/socket.io.js",function(){ 
     var socket = io.connect('http://www.mysite.com:8000'); //<<--error 
     socket.emit('ready'); 
     });}); 

服務器端:

var express = require('express.io') 
    , engine = express().http().io(); 

engine.use(express.cookieParser()); 
engine.use(express.session({secret:'monkey'})); 
engine.all('/',function(req,res,next){res.header("Access-Control-Allow-Origin","*");res.header("Access-Control-Allow-Headers","X-Requested-With");next();}); 
engine.get('/', function(req, res) { 
    req.session.loginDate = new Date().toString() 
    res.sendfile(__dirname) 
    }); 


engine.listen(8000); 


engine.io.route('ready',function(socket){console.log('hellooooooooooo');}); 

我下面就https://github.com/techpines/express.io的文檔,我只是改變了兩件事情:跨域和應用程序被稱爲引擎來代替。我只是看不到問題有沒有其他人得到這個工作?

注意:它不使用它的使用express.io(更多compatable與socket.io)express.js

這就像socket.io是不是他們在服務器上監聽,即使發動機=快遞()HTTP。 ().IO(); io是socket.io

+0

是從常規的HTTP服務器不同的socket.io服務器。 – 2013-04-29 21:49:30

回答

2

我遇到了類似的問題,但是我通過在express.io示例代碼中複製並粘貼代碼示例來修復它,並且它工作正常。然後我比較它們以檢查問題的可能性,並觀察代碼的順序。

這個命令會產生錯誤:

  • static
  • cookieParser
  • session

但是,當我跟着示例代碼提供的代碼,我發現這個命令的工作原理:

  • cookieParser
  • session
  • static

希望這也將有助於您。

0

我相信已發佈的示例失敗,因爲您使用的電話號碼爲res.sendfile(__dirname)而未提供文件名。

這是從express.io來了,發現它使用res.sendfile(__dirname + '/client.html')

express = require('express.io') 
app = express().http().io() 

// Setup your sessions, just like normal. 
app.use(express.cookieParser()) 
app.use(express.session({secret: 'monkey'})) 

// Session is automatically setup on initial request. 
app.get('/', function(req, res) { 
    req.session.loginDate = new Date().toString() 
    res.sendfile(__dirname + '/client.html') 
}) 
+0

第一個答案是不正確的。表達中間件的順序很重要,例如'express.cookieParser()'需要放在'express.session()'之前,因爲會話代碼依賴於connect.sid cookie。 雖然'express.static'中間件不依賴於cookies /會話,可以在之前或之後。 – adamrights 2014-03-04 06:10:45