Numrat negativë në një adresë SOCKS Java nuk janë IP negative
Lexoni fushat e adresës SOCKS si vlera protokolli pa shenjë kur i analizoni me API-t byte të Java.
Në Java, byte është me shenjë. Prandaj një oktet me vlerë 217 në rrjet mund të shfaqet si vlerë negative kur shtypet drejtpërdrejt nga një grup bajtesh. Kjo nuk do të thotë se proxy dërgoi një adresë IP negative të pavlefshme.
Konvertoni vlerën e ruajtur në një numër të plotë pa shenjë, për shembull me Byte.toUnsignedInt(value), ose përdorni DataInputStream.readUnsignedByte() gjatë leximit të fushës. Për një port në rend rrjeti, lexoni vlerën e dokumentuar me dy bajt në vend që ta trajtoni ndonjërin prej bajteve si numër dhjetor me shenjë.
Ndani gjithashtu paraqitjen nga kornizimi. Një lexim nga socket mund të kthejë më pak bajt sesa kërkohet. Lexoni të gjithë fushën, pastaj interpretojeni sipas versionit të SOCKS dhe llojit të adresës. Adresat SOCKS5 mund të përmbajnë një adresë IPv4, një adresë IPv6 ose një emër domeni me prefiks gjatësie; supozimi fiks prej katër bajtesh mbulon vetëm një nga këto forma.
Korrigjimi i një okteti që duket negativ zgjidh problemin e shfaqjes. Nuk rregullon një analizues që ka filluar leximin në një zhvendosje të gabuar ose është ndalur në mes të adresës.