我有nodeJS應用程序,我必須使用socket.io
。在頁面的客戶我有這樣的代碼:NodeJs,socket.io,IE
var serverBaseUrl = document.href;
var socket = io.connect(serverBaseUrl, {'sync disconnect on unload' : true})
socket.on('connect', function() {
alert("socket connect");
sessionId = (socket.io.engine.id).toString().substr(0, 10);
console.log("socket.io connected : " + sessionId);
});
的NodeJS代碼:
var server = http.createServer(app);
var io = require('../service/sockets').startServer(server);
startserver的功能:
io.listen(server).on('connection', handler);
但是這段代碼不能在IE火(我測試9和11版本)。
在Chrome和其他,它完美的作品。此外,有一件有趣的事情:我啓動服務器使用npm start
,然後在IE中打開一個選項卡,並沒有套接字連接,然後我關閉進程的節點應用程序,並重新啓動它,現在,開始後,IE瀏覽器觸發事件連接和我有套接字會話。
任何想法會發生什麼?
套接字連接由客戶端發起;您需要分享您的客戶端JS以獲得有關您問題的幫助。 – mz3
我的問題第一代碼部分 - 這是客戶端上的JS – dikkini
哦,我明白了。你能分享整個事情嗎?你應該有一個地方讓套接字連接。例如:'var socket = io('http:// localhost');'。也包括相關的node.js代碼。 – mz3