Socket.Connect() nei in SOCKS-tsjinner wize iepenet in TCP-ferbining nei dy tsjinner. De folgjende bytes moatte noch SOCKS prate. As jo fuortendaliks it protokol fan 'e applikaasje stjoere, bliuwt de tsjinner wachtsjen op in oar petear.

By SOCKS5 omfettet it opbouwen fan 'e ferbining metode-ûnderhanneling, in eventuele keazen autentikaasje-útwikseling en in fersyk dat de bestimming neamt. Allinnich in slagge antwurd iepenet it paad foar de bytes fan 'e applikaasje. Dizze stappen binne definiearre yn RFC 1928.

Hâld de ûnderhanneling yn 'e ferbiningslaach

In applikaasje mei in eigen TCP-protokol kin in proxy-bewuste connector brûke dy't in oprjochte stream weromjout. De rest fan 'e applikaasje lêst en skriuwt dan fia dy stream. In connector moat rekken hâlde mei partisjele lêzingen, adressen fan fariabele lingte, autentikaasjeflaters en in deadline foar de ûnderhanneling.

In mei de hân skreaune ymplemintaasje dy't ien buffer fan fêste grutte lêst en súkses oannimt, is brekber. TCP behâldt de grinzen fan 'e SOCKS-berjochten net. Lês it folsleine antwurd dat troch syn adrestype beskreaun wurdt foardat jo it applikaasjeprotokol begjinne. In .NET 7+ CONNECT-antwurdlêzer yllustrearret dy stap.

As in ûnderhâlden biblioteek dizze ferbiningslaach al leveret, kontrolearje dan syn stipe SOCKS-ferzjes, autentikaasjemetoaden en doelframework. In tsien jier âlde forumkeppeling is in útgongspunt foar ûndersyk, net in bewiis fan aktuele kompatibiliteit.

De konfiguraasje fan 'e HTTP-klant hat in apart berik

De proxy-ynstelling fan in HTTP-klant konfigurearret dy HTTP-klant. It feroaret net elke rauwe socket yn it proses. De Socket-API akseptearret in netwurk-einpunt en lit de ûnderhanneling op heger nivo oan 'e oanropper.

Foar in fersifere applikaasjeprotokol, doch syn TLS-hânskieding nei't de proxy-tunnel oprjochte is. Falidearje de identiteit fan 'e bedoelde bestimming yn dy stap. Proxy-autentikaasje en bestimming-autentikaasje bliuwe apart, ek al brûke se deselde ûnderlizzende stream.

Relatearre artikelen