Fil-Java, byte huwa b'sinjal. Għalhekk ottett li l-valur tiegħu fuq il-wajer huwa 217 jista' jidher bħala valur negattiv meta jiġi stampat direttament minn firxa ta' bytes. Dan ma jfissirx li l-proxy bagħat indirizz IP negattiv mhux validu.

Ikkonverti l-valur maħżun f'numru sħiħ bla sinjal, pereżempju b'Byte.toUnsignedInt(value), jew uża DataInputStream.readUnsignedByte() waqt li taqra l-qasam. Għal port f'ordni tan-netwerk, aqra l-valur ta' żewġ bytes dokumentat minflok ma tittratta xi wieħed miż-żewġ bytes bħala numru deċimali b'sinjal.

Aqsam ukoll ir-rappreżentazzjoni mill-ifframeġġjar. Qari minn socket jista' jirritorna inqas bytes milli ntalab. Aqra l-qasam kollu, imbagħad interpretah skont il-verżjoni SOCKS u t-tip ta' indirizz. L-indirizzi SOCKS5 jistgħu jkun fihom indirizz IPv4, indirizz IPv6 jew isem ta' dominju b'prefiss ta' tul; is-suppożizzjoni fissa ta' erba' bytes tkopri waħda biss minn dawn il-forom.

Li tikkoreġi ottett li jidher negattiv issolvi l-problema tal-wiri. Ma tissewwix parser li beda jaqra f'offset żbaljat jew waqaf f'nofs l-indirizz.

Artikli relatati