SOCKS ਪ੍ਰੌਕਸੀ ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਤੋਂ ਬਾਅਦ Node.js EPIPE
SOCKS ਐਂਡਪੌਇੰਟ ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਤੋਂ ਬਾਅਦ Node ਦੇ EPIPE ਦੀ ਵਿਆਖਿਆ ਕਰੋ ਅਤੇ ਜਾਂਚੋ ਕਿ ਲੋੜੀਂਦਾ handshake ਪੂਰਾ ਹੋਇਆ ਹੈ ਜਾਂ ਨਹੀਂ।
Node ਸਾਕਟ ਦੀ connect ਘਟਨਾ ਦੱਸਦੀ ਹੈ ਕਿ TCP ਪ੍ਰੌਕਸੀ ਤੱਕ ਪਹੁੰਚ ਗਿਆ। ਇਹ ਨਹੀਂ ਦੱਸਦੀ ਕਿ ਪ੍ਰੌਕਸੀ ਨੇ ਮੰਜ਼ਿਲ ਨਾਲ ਕਨੈਕਸ਼ਨ ਖੋਲ੍ਹਿਆ ਹੈ।
SOCKS5 ਸਰਵਰ ਐਪਲੀਕੇਸ਼ਨ ਟ੍ਰੈਫਿਕ ਤੋਂ ਪਹਿਲਾਂ ਢੰਗ ਗੱਲਬਾਤ, ਚੁਣੀ ਗਈ ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ ਮੰਜ਼ਿਲ ਬੇਨਤੀ ਦੀ ਉਡੀਕ ਕਰਦਾ ਹੈ। ਤੁਰੰਤ HTTP ਬੇਨਤੀ ਭੇਜਣ ਨਾਲ ਸਰਵਰ ਕਨੈਕਸ਼ਨ ਬੰਦ ਕਰ ਸਕਦਾ ਹੈ। ਬਾਅਦ ਦੀ ਲਿਖਤ EPIPE ਪੈਦਾ ਕਰ ਸਕਦੀ ਹੈ।
ਸਿਰਫ਼ EPIPE handshake ਦੀ ਘਾਟ ਸਾਬਤ ਨਹੀਂ ਕਰਦਾ। ਇਹ ਅਜਿਹੇ ਕਨੈਕਸ਼ਨ ਉੱਤੇ ਲਿਖਤ ਦੀ ਰਿਪੋਰਟ ਕਰਦਾ ਹੈ ਜਿਸਦਾ ਸਾਥੀ ਹੁਣ ਉਹ ਸੰਚਾਰ ਸਵੀਕਾਰ ਨਹੀਂ ਕਰਦਾ। ਸਾਥੀ ਨੇ ਕਿਉਂ ਬੰਦ ਕੀਤਾ, ਇਹ ਜਾਣਨ ਲਈ ਪਹਿਲਾਂ ਦੀਆਂ ਘਟਨਾਵਾਂ ਅਤੇ ਪ੍ਰੋਟੋਕੋਲ ਜਵਾਬ ਪੜ੍ਹੋ।
ਪੂਰੀ SOCKS ਅਦਲਾ-ਬਦਲੀ ਲਾਗੂ ਕਰਨ ਵਾਲਾ ਕਨੈਕਟਰ ਵਰਤੋ। Node ਦੇ ਮੁੱਖ HTTPS ਕਲਾਇੰਟ ਲਈ, SOCKS-ਜਾਣੂ ਏਜੰਟ ਮੰਜ਼ਿਲ ਦੇ TLS ਤੋਂ ਪਹਿਲਾਂ ਉਹ ਗੱਲਬਾਤ ਕਰ ਸਕਦਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਖੁਦ ਅਦਲਾ-ਬਦਲੀ ਲਾਗੂ ਕਰਦੇ ਹੋ, ਤਾਂ ਪ੍ਰੋਟੋਕੋਲ ਦੇ ਫੀਲਡ ਲੰਬਾਈ ਅਨੁਸਾਰ ਡੇਟਾ ਇਕੱਠਾ ਕਰੋ। ਇੱਕ data ਘਟਨਾ ਵਿੱਚ ਇੱਕ ਪੂਰਾ ਜਵਾਬ ਹੋਣ ਦੀ ਗਾਰੰਟੀ ਨਹੀਂ, ਅਤੇ ਵਾਪਸ ਕੀਤਾ bound ਪਤਾ ਇੱਕ ਹਾਰਡਕੋਡ ਬਾਈਟ ਸਤਰ ਨਾਲ ਮੇਲ ਖਾਣਾ ਲਾਜ਼ਮੀ ਨਹੀਂ।
ਕਾਰਵਾਈ ਫੇਲ੍ਹ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਗਲਤੀ ਸੰਭਾਲ ਦਰਜ ਕਰੋ, ਗਲਤੀ ਰਿਪੋਰਟ ਵਿੱਚ ਕਨੈਕਸ਼ਨ ਪੜਾਅ ਰੱਖੋ, ਅਤੇ ਗੱਲਬਾਤ ਸਫਲ ਹੋਣ ਤੋਂ ਬਾਅਦ ਹੀ ਮੰਜ਼ਿਲ ਪ੍ਰੋਟੋਕੋਲ ਭੇਜੋ। ਗਲਤੀ ਫੜਨਾ ਬਿਨਾਂ ਸੰਭਾਲੀ ਘਟਨਾ ਨੂੰ ਰੋਕਦਾ ਹੈ; ਇਹ ਅਵੈਧ ਅਦਲਾ-ਬਦਲੀ ਨੂੰ ਠੀਕ ਨਹੀਂ ਕਰਦਾ।