因此,我試圖使用示例heroku應用程序:https://github.com/lstoll/socket-io-chat-heroku作爲模板來構建我自己的socket.io應用程序,但我在Express 4.0,節點0.10.x上運行,和Socket.io 0.9.16。Express 4.0中的Heroku socket.io示例錯誤
現在的問題是,當我跑我的服務器,一切都很好,但是當我跑我的客戶,我得到以下錯誤:
Uncaught ReferenceError: require is not defined socket.io.js:12
Uncaught ReferenceError: io is not defined chat2:2
我相關的服務器代碼如下:
var app = express();
var http = require('http');
var server = http.createServer(app);
var sio = require('socket.io');
var port = 3000 || process.env.PORT;
server.listen(port);
var io = sio.listen(server);
io.sockets.on('connection'), function(socket) {
...
});
在我的客戶端,我有以下幾點: 我都試過(這是玉,順便說一句):
script(src='/socket.io/socket.io.js') OR script(src='http://localhost:3000/socket.io/socket.io.js')
var socket = io.connect() OR var socket = io.connect('http://localhost:3000')
這些選項都沒有工作,總是導致在客戶端的錯誤。 Express 4.0有什麼特別的嗎?我在這裏問了一個非常類似的問題:Node.js /socket.io/socket.io.js not found express 4.0但這是另一個嘗試讓聊天工作與不同的模板。
更新和編輯:經過一些工作,我能夠使用express 4.0和socket.io部署一個heroku應用程序,位於:http://salty-escarpment-7398.herokuapp.com/chat。
現在的問題是要回融入我當前的應用程序,並經過大量的工作,我現在正在一個錯誤:
22:19:56 web.1 | GET /socket.io/?EIO=2&transport=polling 404 26ms - 1.67kb
22:19:59 web.1 | GET /socket.io/?EIO=2&transport=polling 404 25ms - 1.67kb
我:
io.set('transports', ['xhr-polling']);
io.set('polling duration', 10);
要將其設爲xhr-polling,我的服務器代碼與上面的代碼非常相似。但是,頁面加載時,只有在嘗試發送聊天時纔會發生任何事情,404開始出現。
感謝
您是否發現了使用'/socket.io/?EIO=2 ...'發現404錯誤的解決方案? – JVE999