Hví kann ein C-strukturur gera eina ringa SOCKS-fyrispurning
Kannaðu greiðar feltbreiddir, bætarað og streymis-I/O í staðin fyri at viðgera uppseting kompilatorins sum virðisformat.
Ein gild proxy-adressa gerur ikki eina hondskrivaða SOCKS-boðskab gilda. At senda ein C- ella C++-struktur kann senda fylling ella heiltøl í vertsbýtisrað, sum protokollin ongantíð bað um.
Fyri eina SOCKS5 CONNECT-fyrispurn við økisnavni skal henda raðfestingin serialiserast greitt eftir metodumhandling og einhvørja valda samváttan:
- Versjón, boð, fráklent bæti og adressuslag
- Økislongd og økisbæti
- Tveybætis máldestinasjónarport í netbýtisrað
Adressulongdir eru treytugar av SOCKS-versjónini og adressuslagnum. Tølfelt av fastari breidd treingja sína ásettu framstilling; økisstreingir hava sína egna longdarkoding. Ein C-streingarendi er ikki ein vanlig leiðbeining at leggja ein null aftrat netboðskabnum.
| Stuttleið í íleiðsluni | Trupulleiki at kanna |
|---|---|
| At tilluta eitt 32-bits virði gjøgnum ein 8-bits vísir | Tað útletir ikki øll fýra bætini |
| At umskoyta ein buffer til ein vísir á eitt størri heiltal | Javning og bætarað mugu enn handterast |
| At halda at ein lesing ella skriving er ein boðskabur | TCP kann bert flyta ein part av protokollraðfestingini |
Samanber hvørt felt við ætlaða málið og handter partvíst I/O. At móttaka tvey bæti vísir ikki at allari svaranum er komið. At kanna hesi mark kann skilja ein vanbýttan fyrispurning frá einum tænara, sum havnar eini rætt lýstari sambandi.