SOCKS പ്രോക്സിയിലേക്ക് കണക്ട് ചെയ്തതിന് ശേഷം Node.js EPIPE
SOCKS എൻഡ്പോയിന്റിലേക്ക് കണക്ട് ചെയ്തതിന് ശേഷം Node-ന്റെ EPIPE വ്യാഖ്യാനിക്കുകയും ആവശ്യമായ handshake പൂർത്തിയായോ എന്ന് പരിശോധിക്കുകയും ചെയ്യുക.
Node സോക്കറ്റിന്റെ connect ഇവന്റ് TCP പ്രോക്സിയിൽ എത്തിയെന്ന് അറിയിക്കുന്നു. പ്രോക്സി ലക്ഷ്യസ്ഥാനത്തേക്ക് കണക്ഷൻ തുറന്നുവെന്ന് അത് പറയുന്നില്ല.
SOCKS5 സെർവർ ആപ്ലിക്കേഷൻ ട്രാഫിക്കിന് മുമ്പ് രീതി ചർച്ച, തിരഞ്ഞെടുത്ത പ്രാമാണീകരണം, ലക്ഷ്യസ്ഥാന അഭ്യർത്ഥന എന്നിവ പ്രതീക്ഷിക്കുന്നു. ഉടൻ HTTP അഭ്യർത്ഥന അയച്ചാൽ സെർവർ കണക്ഷൻ അടയ്ക്കാം. പിന്നീടുള്ള എഴുത്ത് EPIPE സൃഷ്ടിച്ചേക്കാം.
EPIPE മാത്രം handshake ഇല്ലെന്ന് തെളിയിക്കുന്നില്ല. മറുഭാഗം ആ ആശയവിനിമയം ഇനി സ്വീകരിക്കാത്ത ഒരു കണക്ഷനിലേക്കുള്ള എഴുത്താണ് അത് റിപ്പോർട്ട് ചെയ്യുന്നത്. മറുഭാഗം എന്തുകൊണ്ട് അടച്ചു എന്ന് അറിയാൻ മുൻ ഇവന്റുകളും പ്രോട്ടോക്കോൾ മറുപടികളും വായിക്കുക.
പൂർണ്ണ SOCKS കൈമാറ്റം നടപ്പാക്കുന്ന കണക്ടർ ഉപയോഗിക്കുക. Node-ന്റെ കോർ HTTPS ക്ലയന്റിന്, SOCKS അറിയുന്ന ഏജന്റിന് ലക്ഷ്യസ്ഥാനത്തിന്റെ TLS-ന് മുമ്പ് ആ ചർച്ച നടത്താനാകും. കൈമാറ്റം നിങ്ങൾ തന്നെ നടപ്പാക്കുന്നുവെങ്കിൽ, പ്രോട്ടോക്കോളിന്റെ ഫീൽഡ് നീളങ്ങൾ അനുസരിച്ച് ഡാറ്റ ശേഖരിക്കുക. ഒരു data ഇവന്റിൽ ഒരു പൂർണ്ണ മറുപടി ഉണ്ടാകുമെന്ന് ഉറപ്പില്ല, തിരികെ നൽകുന്ന bound വിലാസം ഹാർഡ്കോഡ് ചെയ്ത ഒരു ബൈറ്റ് സ്ട്രിംഗുമായി പൊരുത്തപ്പെടണമെന്നുമില്ല.
ഓപ്പറേഷൻ പരാജയപ്പെടാനിടയുള്ളതിന് മുമ്പ് പിശക് കൈകാര്യം രജിസ്റ്റർ ചെയ്യുക, പിശക് റിപ്പോർട്ടിൽ കണക്ഷൻ ഘട്ടം നിലനിർത്തുക, ചർച്ച വിജയിച്ചതിന് ശേഷം മാത്രം ലക്ഷ്യസ്ഥാന പ്രോട്ടോക്കോൾ അയയ്ക്കുക. പിശക് പിടിക്കുന്നത് കൈകാര്യം ചെയ്യാത്ത ഇവന്റ് തടയുന്നു; അസാധുവായ കൈമാറ്റം അത് ശരിയാക്കുന്നില്ല.