जब एक नेटवर्कमा WebSocket काम गर्छ तर अर्कोमा SockJS असफल हुन्छ, दोस्रो नेटवर्कले XHR फलब्याक सुरु गरेको हुन सक्छ। यसले अनुरोध गर्ने HTTP कार्यान्वयन बदल्न सक्छ — र त्यसैले प्रयोग हुने प्रोक्सी कन्फिगरेसन पनि।

पहिलो असफल URL र त्यसले छानेको ट्रान्सपोर्ट पत्ता लगाउनुहोस्। SockJS ले ट्रान्सपोर्ट छान्नु अघि HTTP जानकारी अनुरोध गर्न सक्छ; WebSocket ह्यान्डशेक र त्यसपछिका पोलिङ अनुरोधहरू छुट्टाछुट्टै कार्य हुन्। काम गर्ने ह्यान्डशेक कन्फिगरेसनले ती प्रत्येकका लागि प्रयोग हुने मार्ग प्रमाणित गर्दैन।

Spring को Java क्लाइन्टमा RestTemplateXhrTransport ले कन्फिगर गरिएको RestTemplate स्वीकार गर्छ। यसको अनुरोध फ्याक्ट्री र अन्तर्निहित HTTP क्लाइन्टले फलब्याकले समर्थन गर्ने प्रोक्सी मार्ग र प्रमाणीकरण प्रदान गर्छन्। HttpClient 5 सहित Spring 6 का लागि, त्यो RestTemplate को वास्तविक अनुरोध फ्याक्ट्री कन्फिगर गर्नुहोस्। यदि त्यो कार्यान्वयनले Apache HTTP कम्पोनेन्ट प्रयोग गर्छ भने, यसको पुस्ताले एकीकरणसँग मिल्नुपर्छ।

WebSocket क्लाइन्टका आफ्नै कागजात गरिएका जडान सेटिङहरू छन्। JVM प्रोक्सी गुणहरूले मार्गलाई त्यतिबेला मात्र असर गर्छन् जब यसको ठोस क्लाइन्टले ती पढ्छ। काम गर्ने र असफल हुने वातावरणलाई ट्रान्सपोर्ट, क्लाइन्ट कार्यान्वयन, छानिएको प्रोक्सी र पहिलो त्रुटिका आधारमा तुलना गर्नुहोस्। यदि XHR मात्र असफल हुन्छ भने, काम गर्ने WebSocket क्लाइन्टको सेटिङ बारम्बार बदल्नुको सट्टा यसको मार्ग, प्रमाणीकरण र लामो समय टिक्ने प्रतिक्रियाहरू पछ्याउनुहोस्।

सम्बन्धित लेखहरू