फ़ायरफ़ॉक्स में (कम से कम), यदि आप ईएससी हिट करते हैं, तो यह सभी खुले वेबसाकेट कनेक्शन बंद कर देगा। मुझे उस डिस्कनेक्शन को कैप्चर करने की आवश्यकता है और इसे फिर से उपलब्ध होने के बाद पुनः कनेक्ट करने का प्रयास करें।मैं वेबस्केट कनेक्शन बाधा कैसे पकड़ूं?
यहां कोड का एक उदाहरण है जिसे मैंने कार्यान्वित करने का प्रयास किया है, लेकिन कुछ भी नहीं जिसे मैं समझ सकता हूं, त्रुटि को पकड़ लेगा और मुझे इसे सुंदर तरीके से संभालने की अनुमति देगा।
कोड पर एक नज़र डालें: http://jsfiddle.net/w5aAK/
var url = "ws://echo.websocket.org";
try {
socket = window['MozWebSocket'] ? new MozWebSocket(url) : new WebSocket(url);
socket.onopen = function(){
console.log('Socket is now open.');
};
socket.onerror = function (error) {
console.error('There was an un-identified Web Socket error');
};
socket.onmessage = function (message) {
console.info("Message: %o", message.data);
};
} catch (e) {
console.error('Sorry, the web socket at "%s" is un-available', url);
}
setTimeout(function(){
socket.send("Hello World");
}, 1000);
अपने कंसोल पर बारी और उत्पादन को देखते हैं।
क्या मैं यहां कुछ गलत कर रहा हूं, या यह संभव नहीं है क्योंकि कनेक्शन जेएस स्क्रिप्ट के दायरे से बाहर चल रहा है?
कोई भी इनपुट सहायक होगा।
धन्यवाद!
आप 'socket.send (बुलाना चाहिए)' 'भीतर onopen' कॉलबैक , क्योंकि 1 सेकंड के बाद कनेक्शन अभी भी स्थापित नहीं हो सकता है। – neevek
मुझे इसके बारे में पता है और इसे संभालने का तरीका पता है, लेकिन यह सवाल नहीं है कि मैं पूछ रहा हूं। – Zach
ईएससी-बटन समस्या फ़ायरफ़ॉक्स में तय होती है 27 – Tieme