Mae pwyntio Socket.Connect() at weinydd SOCKS yn agor cysylltiad TCP i'r gweinydd hwnnw. Mae'r beit nesaf yn dal i orfod siarad SOCKS. Mae anfon protocol eich cymhwysiad ar unwaith yn gadael y gweinydd yn aros am sgwrs wahanol.

Gyda SOCKS5, mae sefydlu cysylltiad yn cynnwys trafod dull, unrhyw gyfnewid dilysu a ddewiswyd, a chais sy'n enwi'r cyrchfan. Dim ond ateb llwyddiannus sy'n agor y llwybr ar gyfer beitiau'r cymhwysiad. Diffinnir y camau hyn yn RFC 1928.

Cadwch y trafodaeth yn y haen gysylltu

Gall cymhwysiad sydd a'i brotocol TCP ei hun ddefnyddio cysylltydd sy'n ymwybodol o ddirprwy ac sy'n dychwelyd ffrwd sefydledig. Yna mae gweddill y cymhwysiad yn darllen ac yn ysgrifennu drwy'r ffrwd honno. Rhaid i gysylltydd ystyried darlleniadau rhannol, cyfeiriadau o hyd amrywiol, methiannau dilysu, a therfyn amser ar gyfer y trafodaeth.

Mae gweithrediad wedi'i ysgrifennu a llaw sy'n darllen un byffer o faint sefydlog ac yn tybio llwyddiant yn fregus. Nid yw TCP yn cadw ffiniau negeseuon SOCKS. Darllenwch yr ateb cyflawn a ddisgrifir gan ei fath cyfeiriad cyn dechrau protocol y cymhwysiad. Mae darllenydd ateb CONNECT .NET 7+ yn dangos y cam hwnnw.

Os yw llyfrgell a gynhelir eisoes yn darparu'r haen gysylltu hon, gwiriwch ei fersiynau SOCKS a gefnogir, ei dulliau dilysu, a'i fframwaith targed. Mae dolen fforwm ddeg oed yn fan cychwyn ar gyfer ymchwilio yn hytrach na thystiolaeth o gydnawsedd ar hyn o bryd.

Mae gan ffurfweddiad cleient HTTP gwmpas ar wahan

Mae gosodiad dirprwy cleient HTTP yn ffurfweddu'r cleient HTTP hwnnw. Nid yw'n addasu pob soced crai yn y broses. Mae'r API Soced yn derbyn pen hollt rhwydwaith ac yn gadael trafodaeth lefel uwch i'r galwr.

Ar gyfer protocol cymhwysiad wedi'i amgryptio, gwnewch ei gydlaweniad TLS ar ol i'r twnnel dirprwy gael ei sefydlu. Dilyswch hunaniaeth y cyrchfan a fwriadwyd ar y cam hwnnw. Mae dilysu dirprwy a dilysu cyrchfan yn parhau ar wahan er eu bod yn defnyddio'r un ffrwd sylfaenol.

Erthyglau cysylltiedig