2012-10-20 27 views
6

मैं यहाँ की तरह कुछ चैट उदाहरण बनाना: http://psitsmike.com/2011/09/node-js-and-socket-io-chat-tutorial/IE और Socket.io अनुकूलता

जब मैं Chrome का उपयोग और Firefox सब कुछ एक आकर्षण की तरह काम करता है। आईई 9 या ओपेरा के साथ कुछ socket.io घटनाएं फायरिंग नहीं कर रही हैं (उदा। डिस्कनेक्ट) या बहुत देर हो चुकी है, और डेटा प्राप्त करना बहुत धीमा है।

मैंने एनपीएम विधि के साथ node.js और socket.io मॉड्यूल स्थापित किया।

कृपया मदद करें।

उत्तर

8

सॉकेट.आईओ वेबसाइकिलों के साथ सबसे अच्छा काम करता है। 2012 से पहले, अधिकांश ब्राउज़रों ने websockets (source) का समर्थन नहीं किया था।

ऐसे ब्राउज़र के साथ, सॉकेट.ओओ विभिन्न मतदान विधियों पर वापस आ जाता है, लेकिन इससे आपको समस्याएं हो सकती हैं, जैसे कम डेटा दर और देरी की घटनाएं (1-2 मिनट देर से फायरिंग)। उपाय करने के लिए, आपको फ़्लैश सॉकेट सक्षम करने का प्रयास करना चाहिए।

io.set('transports', [ 
    'websocket' 
    , 'flashsocket' 
    , 'htmlfile' 
    , 'xhr-polling' 
    , 'jsonp-polling' 
]); 

साथ ही, सुनिश्चित करें कि फ़्लैश नीति पोर्ट (डिफ़ॉल्ट 10843) क्लाइंट से पहुंच योग्य है।

+0

'htmlfile' आईई – InspiredJW

+3

के लिए एक ActiveX तरीका है जब मैं इसे आज़माता हूं, तो 'io' ऑब्जेक्ट में' 'सेट' विधि नहीं होती है। यह सॉफ़्टवेयर पक्ष है, 'socket.io.js' – Khior

+0

इस मार्टिन के लिए धन्यवाद, आईई 9 के साथ मेरी समस्या का समाधान किया गया है जिससे रीफ्रेश पर क्लिक करने पर एक त्रुटि त्रुटि ECONNRESET हो गई है। अब यह डिस्कनेक्ट को सही ढंग से निकाल देता है और तुरंत मेरे उपयोगकर्ता को मार देता है। खेर - मैंने यह सर्वर सर्वर फ़ाइल में किया था, सीधे socket.io –