2012-08-29 18 views
6

में त्रुटि प्रबंधन में मैं एक पृष्ठ बनाने की कोशिश कर रहा हूं जो सर्वर-प्रेषित ईवेंट (धूमकेतु) बनाने के लिए EvenSource ऑब्जेक्ट (जावास्क्रिप्ट में) का उपयोग करता है। मैं इसके बारे में कई ट्यूटोरियल पढ़ा है और एक है कि निम्न सवालों बताते नहीं मिला है:इवेंटसोर्स

  1. जब मैं EventSource की "onerror" घटना की सदस्यता - क्या पैरामीटर मैं पाने के प्रकार है? मुझे कैसे पता चलेगा कि त्रुटि क्या थी?

  2. मुझे पता है कि EvenSource के पास तैयार है और यह ब्राउज़र पर निर्भर करता है। प्रत्येक "ऑनमेज" घटना के बाद मेरा तैयारस्टेट 0 में क्यों बदल जाता है? (मैं क्रोम का उपयोग करता हूं)।

  3. मैं कैसे साबित करूं कि सर्वर से मेरा कनेक्शन कनेक्ट रहता है और हर बार फिर से कनेक्ट नहीं होता है?

ब्राउज़र: क्रोम।

सर्वर साइड:।। जावा (अगर यह प्रासंगिक उदाहरण मैंने बनाया जावा ईई पूर्वावलोकन में है लेकिन मैं वेबलॉजिक 10R3 पर काम करने के लिए जा रहा हूँ

मेरे उदाहरण में होता यह है कि डेटा किया जा रहा है है (0 readyState है) ग्राहक के लिए सर्वर से भेजे, "onerror" घटना होती है की तुलना में और 3 सेकंड (क्रोम के लिए डिफ़ॉल्ट) के बाद यह पुन: कनेक्ट हो और फिर डेटा भेजता

जावास्क्रिप्ट कोड:।

var source = new EventSource("TrySRV"); 
source.onmessage = function(event){ 
    alert(event.data); 
} 

source.onerror = function(event){ 
    alert(source.readystate); 
} 

जावा कोड:

response.setHeader("Content-Type", "text/event-stream"); 
response.setHeader("Cache-Control", "no-cache"); 
response.getWriter.write("Hello World"); 

यदि कुछ और याद आ रही है जो आप जानना चाहते हैं - मुझे बताएं। आशा है कि आप मेरी मदद कर सकेंगे।

धन्यवाद!

उत्तर

3

आपको इसके जवाब देने और बंद करने के बजाय सर्वर पर कनेक्शन पकड़ने की आवश्यकता है।

कृपया http://jcp.org/en/jsr/detail?id=315, या ग्लासफ़िश/ग्रीज़ली/जेटी सर्वर देखें।