Java DatagramSocket a reledu UDP SOCKS5
Deall pam mae angen gweithrediad SOCKS5 UDP ar soced UDP Java hyd yn oed pan fo cysylltiadau TCP eisoes yn defnyddio SOCKS.
Mae eich cais HTTP Java yn gweithio drwy SOCKS, ond mae nodwedd UDP yn dal i anfon traffig yn uniongyrchol neu'n methu. Nid yw gosod priodweddau SOCKS y JVM yn rhoi gweithrediad SOCKS5 UDP i DatagramSocket.
Mae'r API DatagramSocket yn anfon ac yn derbyn datagramau a gyfeirir at bwyntiau terfyn rhwydwaith. Mae ei ddull connect() yn dewis cymar ar gyfer y soced hwnnw. Nid yw'n cynnal trafodaeth SOCKS gyda'r cymar.
Mae angen gwaith ychwanegol ar lwybr UDP SOCKS5
Mae SOCKS5 yn diffinio cysylltiad UDP a sefydlir dros gysylltiad rheoli TCP. Yna mae'r cleient yn cyfnewid datagramau wedi'u hamgáu gyda'r cyfeiriad reledu a ddarperir gan y dirprwy. Mae pob neges wedi'i hamgáu yn nodi ei chyrchfan. Rhaid i weithrediad cleient drin y fframio hwnnw ac oes y cysylltiad rheoli.
Mae cyfeirio soced UDP cyffredin at borth gwrando TCP y dirprwy yn hepgor y camau hynny. Nid yw anfon datagramau crai eich cymhwysiad at y cyfeiriad hwnnw yn cymryd lle'r cysylltiad.
Dewiswch lyfrgell neu nodwedd cymhwysiad sy'n cefnogi reledu UDP SOCKS5 yn benodol, a chadarnhewch fod y gweinydd yn ei gefnogi hefyd. Efallai mai dim ond TCP CONNECT sy'n cael ei weithredu gan lyfrgell sy'n hysbysebu cymorth SOCKS. Mae manyleb y protocol yn gwahaniaethu rhwng y gorchmynion.
Mae angen llwybr defnyddiadwy ar y reledu UDP hefyd
Dim ond y llwybr rheoli y mae cysylltiad TCP llwyddiannus i'r dirprwy yn ei sefydlu. Gall waliau tân neu ymddygiad NAT barhau i amharu ar ddatagramau a anfonir at y reledu. Casglwch y pwynt terfyn reledu a ddychwelwyd ac unrhyw wall reledu cyn dod i'r casgliad bod cyrchfan y cymhwysiad all-lein.
Yn olaf, nid yw cymorth cludo SOCKS yn ychwanegu gwarantau danfon at UDP. Mae terfynau amser eich cymhwysiad eich hun, trin colledion a chyfyngiadau maint negeseuon yn dal i fod yn berthnasol ar ôl i'r llwybr newid.