मैं पिछले कुछ दिनों से वेबसाकेट्स के साथ प्रयोग कर रहा हूं और मुझे नए, बहुत अच्छे, तकनीक के साथ कुछ मिश्रित अनुभव हैं। मैंने एक साधारण चैट क्लाइंट लिखा है जो HTML5 Labs से नवीनतम रिलीज का उपयोग करता है, जो मुझे लगता है कि हाइबी -0 9 ड्राफ्ट स्पेक रिलीज है। क्लाइंट क्रोम (देव चैनल v14.0) में बहुत अच्छा काम करता है। सबकुछ काम करता है जैसा इसे करना चाहिए। हालांकि, हर दूसरे प्रमुख ब्राउज़र है कि मूल रूप से WebSockets का समर्थन करता है में (फ़ायर्फ़ॉक्स (v6.0b) (हाँ, मैं WebSockets कार्यक्षमता को चालू किया था), सफारी (v5.1)), यह किसी कारण से कनेक्ट नहीं कर सकता। यहाँ मेरे मुवक्किल कोड के कुछ है:वेबसॉकेट संस्करण और पिछड़ा संगतता
$(document).ready(connect);
function connect() {
if ('WebSocket' in window) {
websocket = new WebSocket('ws://' + window.location.hostname + ':4502/chat');
}
else if ('MozWebSocket' in window) {
websocket = new MozWebSocket('ws://' + window.location.hostname + ':4502/chat');
}
else {
//not supported
return;
}
websocket.onopen = function() {
//do some setup stuff
};
websocket.onclose = function() {
//DOH
};
websocket.onmessage = function (e) {
//Do some stuff with e.data
};
}
और कुछ (सी #) सर्वर कोड:
static void Main(string[] args)
{
var host = new WebSocketsHost<ReverseService>();
host.AddWebSocketsEndpoint("ws://" + Environment.MachineName + ":4502/chat");
host.Open();
Console.ReadLine();
}
जैसा कि मैंने कहा, यह क्रोम में ठीक जोड़ता है और एकदम सही ढंग से .onopen समारोह पूरी करता है। एफएफ और सफारी में, यह सीधे बंदरगाह समारोह में जाता है और कभी कनेक्ट नहीं होता है।
"NetworkError: 501 Not Implemented - http://localhost:4502/chat"
Firefox can't establish a connection to the server at ws://localhost:4502/chat
और सफारी में:
WebSocket frame (at 4294967295 bytes) is too long.
केवल एक चीज मैं के बारे में सोच सकते हैं पश्च संगतता मुद्दा किसी तरह का है एफएफ में, मैं निम्नलिखित त्रुटियाँ मिलता है। मेरा मानना है कि क्रोम 14.x हाइबी वेबसाकेट्स के ड्राफ्ट 10 स्पेस को लागू करता है और मुझे लगता है कि एफएफ 6 ड्राफ्ट 07 या 08 लागू करता है और मुझे सफारी 5.1 के बारे में निश्चित नहीं है। अगर किसी के पास कोई अंतर्दृष्टि है कि समस्या क्या है और/या मैं इसे कैसे ठीक कर सकता हूं, तो मैं सहायता की सराहना करता हूं। धन्यवाद!
विंडो कोड खंड में धन्यवाद। क्रॉसप्लेटफार्म जेएस लिखने का एक आसान तरीका ढूंढ रहा था। – Stevko