Títọ́ Socket.Connect() sí server SOCKS yóò ṣí ìsopọ̀ TCP sí server yẹn. Àwọn byte tó kàn ṣì gbọdọ̀ sọ SOCKS. Bí o bá fi protocol ohun èlò rẹ ránṣẹ́ lẹ́sẹ̀kẹsẹ̀, server yóò máa dúró de ìjíròrò mìíràn.

Pẹ̀lú SOCKS5, ìdásílẹ̀ ìsopọ̀ ní ìjíròrò ọ̀nà, ìpààrọ̀ ìjẹ́rìí tí a yàn bí ó bá wà, àti ìbéèrè tí ń dárúkọ ibi tí a ń lọ. Ìdáhùn tí ó ṣàṣeyọrí nìkan ni ó ṣí ọ̀nà fún àwọn byte ohun èlò. Àwọn ìpele wọ̀nyí wà nínú RFC 1928.

Pa ìjíròrò mọ́ ní ìpele ìsopọ̀

Ohun èlò tí ó ní protocol TCP tirẹ̀ lè lo connector tí ó mọ proxy tí yóò sì dá stream tí a ti dá padà. Ìyókù ohun èlò yóò kà àti kọ nípasẹ̀ stream yẹn. Connector gbọdọ̀ ka àwọn ìkàwé apá kan, àwọn àdírẹ́sì tí gígùn wọn ń yí padà, ìkùnà ìjẹ́rìí, àti àkókò ìparí fún ìjíròrò náà.

Ìmúṣẹ tí a fi ọwọ́ kọ tí ó kà buffer kan tí ìtóbi rẹ̀ dúró ṣinṣin tí ó sì rò pé ó ṣàṣeyọrí máa ń ṣẹ̀gẹ̀. TCP kò pa àwọn ààlà àwọn ìfiránṣẹ́ SOCKS mọ́. Ka ìdáhùn kíkún tí irú àdírẹ́sì rẹ̀ ṣàlàyé kí o tó bẹ̀rẹ̀ protocol ohun èlò. Olùkà ìdáhùn CONNECT fún .NET 7+ fi ìpele yẹn hàn.

Bí library tí a ń tọ́jú bá ti ń pèsè ìpele ìsopọ̀ yìí, ṣàyẹ̀wò àwọn ẹ̀dà SOCKS tí ó ń ṣe àtìlẹ́yìn fún, àwọn ọ̀nà ìjẹ́rìí, àti framework ibi-afẹ́. Ọ̀nà àsopọ̀ forum tí ó jẹ́ ọdún mẹ́wàá jẹ́ ibẹ̀rẹ̀ ìwádìí, kì í ṣe ẹ̀rí ìbámu lónìí.

Ìṣètò HTTP client ní ibùdó ọ̀tọ̀

Ìṣètò proxy HTTP client ń ṣètò HTTP client yẹn. Kò yí gbogbo socket àìdá tí ó wà nínú ìlànà padà. Socket API gba ibi ìparí nẹ́tíwọ́kì tí ó sì fi ìjíròrò ìpele gíga sí ọwọ́ ẹni tí ń pè é.

Fún protocol ohun èlò tí a ti fi àmì sí, ṣe TLS handshake rẹ̀ lẹ́yìn tí a bá ti dá tunnel proxy. Ṣàyẹ̀wò ìdánimọ̀ ibi tí a ń lọ ní ìpele yẹn. Ìjẹ́rìí proxy àti ìjẹ́rìí ibi-afẹ́sẹ̀ yàtọ̀ síra bí ó tilẹ̀ jẹ́ pé wọ́n ń lo stream ìsàlẹ̀ kan náà.

Àwọn àpilẹ̀kọ tó jọra