Mae cysylltu soced TCP Asio â gwrandawr SOCKS5 yn cwblhau un cam: y cysylltiad TCP â'r gwrandawr hwnnw. Nid yw'n gofyn i'r dirprwy gysylltu â'r gweinydd terfynol. Ar gyfer prawf a ganiateir ar darged cyhoeddus, mae rhestr dirprwyon SOCKS5 yn cynnig ymgeiswyr ar gyfer y pwynt TCP cyntaf hwnnw; rhaid i'r cysylltydd gwblhau'r cyfnewid isod o hyd.

Yna rhaid i gysylltydd SOCKS5 redeg y cyfnewid protocol:

  1. Anfonwch gyfarchiad fersiwn 5 yn rhestru'r dulliau dilysu y mae'r cleient yn eu cefnogi.
  2. Darllenwch y dull a ddewisiwyd a chyflawnwch ei gyfnewid dilysu pan fo angen.
  3. Anfonwch CONNECT gyda math cyfeiriad y cyrchfan, y cyfeiriad a'r porthladd yn nhrefn beit rhwydwaith.
  4. Darllenwch yr ymateb, gwiriwch ei fersiwn a'r cod canlyniad, a defnyddiwch y cyfeiriad a'r porthladd clymedig hyd newidiol yn llawn.
  5. Rhowch y ffrwd a sefydlwyd i brotocol y rhaglen.

Mae helpwr o'r enw socks5::async_proxy_connect yn perthyn i'r gweithrediad SOCKS sy'n darparu'r helpwr hwnnw. Nid yw ei enwi wrth ymyl boost::asio yn ei wneud yn rhan o ryngwyneb soced TCP Asio.

Gall darlleniadau TCP ddychwelyd dim ond rhan o ymateb. Cyfansoddwch ddarlleniadau ar gyfer y cyfrifon beit gofynnol, yna dewiswch y hyd sy'n weddill o'r maes math cyfeiriad. Peidiwch â chymryd yn ganiataol bod gan bob ymateb gweinydd y cynllun IPv4 sefydlog.

Ar gyfer HTTPS, gwnewch ysgydwad llaw TLS y cyrchfan ar ôl i SOCKS CONNECT lwyddo, gan gadw SNI a dilysiad enw gwesteiwr y cyrchfan. Nid yw ymateb dirprwy llwyddiannus ar ei ben ei hun yn dilysu'r wefan.

Cadwch ganslo a therfynau amser ar draws yr holl ddilyniant sefydlu. Os bydd amser sefydlu'r cysylltiad TCP yn dod i ben, bydd y cyfnewidiadau cyfarch, dilysu a CONNECT diweddarach yn parhau heb derfyn.

Erthyglau cysylltiedig