2012-11-27 22 views
13

मुझे सॉकेट.आईओ के साथ समस्या है।सॉकेट.ओ त्रुटि प्रबंधन

मैं सॉकेट त्रुटियों के बाद सॉकेट को फिर से कनेक्ट करने का प्रयास कर रहा हूं लेकिन यह फिर से कनेक्ट नहीं होगा। यहां कोड है:

socket = io.connect(host, options); 
socket.on('connect', this.onConnect); 
socket.on('error', function() { 
    //here i change options 
    socket = io.connect(host, options); 
}); 

यह नया कनेक्शन क्यों नहीं बनाता है? (मेजबान और बंदरगाह स्थिर रखा जा रहा है और यह पहले कनेक्शन के लिए काम करता है)।

+4

1) 'error' घटना क्या है? 2) आप कैसे जानते हैं कि यह नया कनेक्शन नहीं बना रहा है? 3) जाहिर है कि जब आप नया कनेक्शन बना रहे हों तो आपको सभी ईवेंट हैंडलर को एक और बार सेट करना होगा, क्या आप ऐसा कर रहे हैं? – freakish

+1

1) "त्रुटि" डिफ़ॉल्ट socket.io घटना है (https://github.com/LearnBoost/socket.io/wiki/Authorizing) 2) नया कनेक्शन लॉग नहीं है 3) हाँ, मैं – user1856728

+0

लॉग इन किया गया था? सर्वर की तरफ? या ग्राहक पक्ष? – freakish

उत्तर

9

{ 'force new connection': true }io.connect पर विकल्प जोड़ने का प्रयास करें। ऐसा लगता है कि यह कनेक्शन को पुनः प्रयास नहीं कर रहा है।

सॉकेट आईओ एक मेजबान से दोबारा कनेक्ट नहीं होगा, जब तक कि आप यह विकल्प निर्दिष्ट नहीं करते हैं।

यहाँ विकल्पों के साथ एक टुकड़ा में लाइन निर्दिष्ट हैश है:

io.connect(host, { 
    'force new connection': true 
}); 

आप विकल्पों के बारे में अधिक सीख सकते हैं: https://github.com/LearnBoost/Socket.IO/wiki/Configuring-Socket.IO