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.

Erthyglau cysylltiedig