SockJS ਪ੍ਰੌਕਸੀ ਫੇਲ੍ਹ ਫਾਲਬੈਕ ਤੋਂ ਬਾਅਦ ਹੀ ਕਿਉਂ ਦਿਖ ਸਕਦੀ ਹੈ
WebSocket ਮਾਰਗ ਅਤੇ XHR ਫਾਲਬੈਕ ਵੱਖਰੇ HTTP ਕਲਾਇੰਟ ਵਰਤ ਸਕਦੇ ਹਨ। ਇਸ ਦੀਆਂ ਪ੍ਰੌਕਸੀ ਸੈਟਿੰਗਾਂ ਬਦਲਣ ਤੋਂ ਪਹਿਲਾਂ ਫੇਲ੍ਹ ਹੋ ਰਹੀ ਟਰਾਂਸਪੋਰਟ ਪਛਾਣੋ।
ਜਦੋਂ ਇੱਕ ਨੈੱਟਵਰਕ 'ਤੇ WebSocket ਕੰਮ ਕਰਦਾ ਹੈ ਪਰ ਦੂਜੇ 'ਤੇ SockJS ਫੇਲ੍ਹ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਦੂਜੇ ਨੈੱਟਵਰਕ ਨੇ XHR ਫਾਲਬੈਕ ਸ਼ੁਰੂ ਕੀਤਾ ਹੋ ਸਕਦਾ ਹੈ। ਇਹ ਬੇਨਤੀਆਂ ਕਰਨ ਵਾਲੇ HTTP ਲਾਗੂਕਰਨ ਨੂੰ ਬਦਲ ਸਕਦਾ ਹੈ — ਅਤੇ ਇਸ ਲਈ ਵਰਤੀ ਜਾ ਰਹੀ ਪ੍ਰੌਕਸੀ ਸੰਰਚਨਾ ਨੂੰ ਵੀ।
ਪਹਿਲਾ ਫੇਲ੍ਹ ਹੋਇਆ URL ਅਤੇ ਇਸ ਵੱਲੋਂ ਚੁਣੀ ਗਈ ਟਰਾਂਸਪੋਰਟ ਲੱਭੋ। SockJS ਟਰਾਂਸਪੋਰਟ ਚੁਣਨ ਤੋਂ ਪਹਿਲਾਂ HTTP ਜਾਣਕਾਰੀ ਬੇਨਤੀ ਕਰ ਸਕਦਾ ਹੈ; WebSocket ਹੈਂਡਸ਼ੇਕ ਅਤੇ ਇਸ ਤੋਂ ਬਾਅਦ ਦੀਆਂ ਪੋਲਿੰਗ ਬੇਨਤੀਆਂ ਵੱਖਰੇ ਕੰਮ ਹਨ। ਕੰਮ ਕਰਦੀ ਹੈਂਡਸ਼ੇਕ ਸੰਰਚਨਾ ਉਨ੍ਹਾਂ ਵਿੱਚੋਂ ਹਰ ਇੱਕ ਲਈ ਵਰਤਿਆ ਮਾਰਗ ਸਾਬਤ ਨਹੀਂ ਕਰਦੀ।
Spring ਦੇ Java ਕਲਾਇੰਟ ਵਿੱਚ RestTemplateXhrTransport ਸੰਰਚਿਤ RestTemplate ਸਵੀਕਾਰ ਕਰਦਾ ਹੈ। ਇਸ ਦੀ ਬੇਨਤੀ ਫੈਕਟਰੀ ਅਤੇ ਅਧੀਨ HTTP ਕਲਾਇੰਟ ਫਾਲਬੈਕ ਵੱਲੋਂ ਸਮਰਥਿਤ ਪ੍ਰੌਕਸੀ ਮਾਰਗ ਅਤੇ ਪ੍ਰਮਾਣੀਕਰਨ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ। HttpClient 5 ਨਾਲ Spring 6 ਲਈ, ਉਸ RestTemplate ਦੀ ਅਸਲ ਬੇਨਤੀ ਫੈਕਟਰੀ ਸੰਰਚਿਤ ਕਰੋ। ਜੇ ਉਹ ਲਾਗੂਕਰਨ Apache HTTP ਹਿੱਸੇ ਵਰਤਦਾ ਹੈ, ਤਾਂ ਇਸ ਦੀ ਪੀੜ੍ਹੀ ਏਕੀਕਰਨ ਨਾਲ ਮੇਲ ਖਾਣੀ ਚਾਹੀਦੀ ਹੈ।
WebSocket ਕਲਾਇੰਟ ਦੀਆਂ ਆਪਣੀਆਂ ਦਸਤਾਵੇਜ਼ੀ ਸੰਪਰਕ ਸੈਟਿੰਗਾਂ ਹਨ। JVM ਪ੍ਰੌਕਸੀ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਕਿਸੇ ਮਾਰਗ ਨੂੰ ਸਿਰਫ਼ ਤਦ ਪ੍ਰਭਾਵਿਤ ਕਰਦੀਆਂ ਹਨ ਜਦੋਂ ਇਸ ਦਾ ਠੋਸ ਕਲਾਇੰਟ ਉਹਨਾਂ ਨੂੰ ਪੜ੍ਹਦਾ ਹੈ। ਕੰਮ ਕਰਨ ਵਾਲੇ ਅਤੇ ਫੇਲ੍ਹ ਹੋਣ ਵਾਲੇ ਵਾਤਾਵਰਨ ਦੀ ਟਰਾਂਸਪੋਰਟ, ਕਲਾਇੰਟ ਲਾਗੂਕਰਨ, ਚੁਣੀ ਪ੍ਰੌਕਸੀ ਅਤੇ ਪਹਿਲੀ ਗਲਤੀ ਅਨੁਸਾਰ ਤੁਲਨਾ ਕਰੋ। ਜੇ ਸਿਰਫ਼ XHR ਫੇਲ੍ਹ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਕੰਮ ਕਰਦੇ WebSocket ਕਲਾਇੰਟ ਦੀਆਂ ਸੈਟਿੰਗਾਂ ਵਾਰ-ਵਾਰ ਬਦਲਣ ਦੀ ਥਾਂ ਇਸ ਦੇ ਮਾਰਗ, ਪ੍ਰਮਾਣੀਕਰਨ ਅਤੇ ਲੰਮੇ ਸਮੇਂ ਤੱਕ ਰਹਿਣ ਵਾਲੇ ਜਵਾਬਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ।