At knýta eitt Asio TCP-socket at einum SOCKS5-lyttara fullger eitt stig: TCP-sambandið til tann lyttaran. Tað biður ikki proxy-ið um at knýta samband við endaliga servaran. Til eina loyvda roynd móti einum almennum máli bjóðar SOCKS5-proxy-listin evnar til tann fyrsta TCP-endan; sambindarin má kortini fullgera avluna niðanfyri.

Síðani má SOCKS5-sambindarin framføra protokoll-avluna:

  1. Send eina heilsan av versjón 5, sum listar tær váttanar-hættir, sum klienturin stuðlar.
  2. Les ta valdu hætt og framfør váttanar-avluna hennar, tá ið neyðugt er.
  3. Send CONNECT við slagi av málsadressu, adressu og porti í netbýtis-raðfylgju.
  4. Les svarið, kanna versjónina og úrslitskotuna, og nýt tað fulla bundnu adressuna og portið av skiftandi longd.
  5. Lat tað uppreista streymin yvir til protokollina hjá tólini.

Ein hjálpari, sum eitur socks5::async_proxy_connect, hoyrir til ta SOCKS-útførsluna, sum veitir tann hjálparan. At nevna hann við síðuna av boost::asio ger hann ikki til part av TCP-socket-umbúnaðinum hjá Asio.

TCP-lesingar kunnu bert geva eitt brot av einum svari. Set lesingar saman fyri tey neyðugu býtis-tølini, vel síðani ta eftirverandi longdina úr adressuslags-økinum. Ikki vænta tær, at hvørt servarasvar hevur ta fóstu IPv4-uppsetingina.

Fyri HTTPS, framfør TLS-handtakið við málið eftir at SOCKS CONNECT hevur eydnast, við at varðveita SNI og vertsnavns-váttan mássins. Eitt eydnað proxy-svar eitt sær váttar ikki heimasíðuna.

Varðveit avlýsing og tíðarfrestr gjøgnum alla uppsetingar-raðfylgjuna. Um tíðin at knýta TCP-sambandið rennur út, verða seinni heilsan-, váttanar- og CONNECT-avlurnar annars óavmarkaðar.

Skyldar greinar