2010-10-13 15 views
11

मेरे पास स्थानीयहोस्ट पर होस्ट की गई साइट है: 8000। अब, मेरे पास स्थानीयहोस्ट पर वेबस्केट कनेक्शन के लिए एक सर्वर सुन रहा है: 8001। मैं अपनी वेबसाइट की तरहवेबसाइट्स समस्याएं, शायद मूल उत्पत्ति नीति?

var conn = new WebSocket('ws://localhost:8001'); 

तरह WebSocket एपीआई के माध्यम से इस सर्वर से कनेक्ट करने हैं लेकिन मैं

conn.send('something'); 

कि तरह लग रहा है बुला पर क्रोमियम 6.0.472.62 में कुछ त्रुटियों मिल: Uncaught त्रुटि: INVALID_STATE_ERR: डोम अपवाद 11.

Firefox 4 (4.0b8pre) में, मैं त्रुटि मिलती है: 11

: का प्रयास एक उद्देश्य यह है कि, प्रयोग करने योग्य "कोड" नहीं है, या है नहीं रह गया है उपयोग करने के लिए बनाया गया था

मैंने सोचा था कि यह हैडशेक सर्वर पर websocket ड्राफ्ट 76 का समर्थन नहीं कर रहा है, लेकिन मैं http://github.com/miksago/node-websocket-server/tree/master/lib/ws/ का उपयोग कर रहा हूं जो ड्राफ्ट 75 और ड्राफ्ट 76 का समर्थन करने का दावा करता है।

इसके अलावा, प्रारंभिक हैंडशेक ठीक काम करता प्रतीत होता है। मैं नई वेबसॉकेट बनाने पर सर्वर से प्रतिक्रिया प्राप्त कर सकता हूं, हालांकि, ग्राहक पक्ष से "भेजने" के लिए कॉल पर समस्याएं उत्पन्न होती हैं।

क्या यह एक ही मूल नीति के साथ एक मुद्दा है क्योंकि मेरा httpserver पोर्ट 8000 पर है और websocket सर्वर 8001 पर है? यदि हां, तो मैं इसके आसपास कैसे काम कर सकता हूं?

उत्तर

27

शायद आपको ओपन घटना के लिए आग लगने की ज़रूरत है?

var conn = new WebSocket('ws://localhost:8001'); 
conn.onopen = function (e) { 
    conn.send('something'); 
} 
conn.onmessage = function (e) { 
    console.log('got something: ' + e.data); 
} 

इसके अलावा, यह भी एक अच्छा विचार है कि हमले और आतंकवादी घटनाओं को भी हुक करना एक अच्छा विचार है।

संबंधित मुद्दे