Java DatagramSocket an SOCKS5 UDP-Relaying
Verstitt firwat e Java UDP-Socket eng SOCKS5 UDP-Implementatioun brauch, och wann TCP-Verbindunge schonn SOCKS benotzen.
Är Java HTTP-Ufro funktionéiert iwwer SOCKS, awer eng UDP-Funktioun schéckt nach ëmmer Traffic direkt oder schléit fehl. D'SOCKS-Eegeschafte vun der JVM ze setzen gëtt DatagramSocket keng SOCKS5 UDP-Implementatioun.
D'DatagramSocket-API schéckt an empfängt Datagrammen, déi un Netzwierk-Endpunkte adresséiert sinn. Seng Method connect() wielt e Peer fir dee Socket. Si mécht keng SOCKS-Verhandlung mam Peer.
Eng SOCKS5 UDP-Route brauch zousätzlech Aarbecht
SOCKS5 definéiert eng UDP-Associatioun, déi iwwer eng TCP-Kontrollverbindung opgebaut gëtt. Duerno tauscht de Client encapsuléiert Datagrammen mat der Relay-Adress aus, déi de Proxy ugëtt. All encapsuléiert Noriicht identifizéiert hiert Zil. Eng Client-Implementatioun muss déi Ëmrahmung an d'Liewensdauer vun der Kontrollverbindung handhaben.
E gewéinleche UDP-Socket op den TCP-Lauschport vum Proxy ze riichten iwwerspréngt déi Schrëtt. D'Rohdatagramme vun Ärer Applikatioun un déi Adress ze schécken ersetzt d'Associatioun net.
Wielt eng Bibliothéik oder eng Applikatiounsfunktioun, déi SOCKS5 UDP-Relaying ausdrécklech ënnerstëtzt, a bestätegt, datt de Server et och ënnerstëtzt. Eng Bibliothéik, déi SOCKS-Ënnerstëtzung annoncéiert, implementéiert vläicht nëmme TCP CONNECT. D'Protokollspeziifikatioun ënnerscheet d'Befehler.
D’UDP-Relay brauch och en notzbare Wee
Eng erfollegräich TCP-Verbindung zum Proxy baut nëmmen de Kontrollwee op. Firewallen oder NAT-Verhalen kënnen d'Datagrammen, déi un d'Relay geschéckt ginn, nach ëmmer stéieren. Sammelt den zréckginnene Relay-Endpunkt an all Relay-Fehler, ier Dir zum Schluss kommt, datt d'Zil vun der Applikatioun offline ass.
Schliisslech bäit SOCKS-Transportënnestëtzung dem UDP keng Liwwergarantien derbäi. D'eegen Timeouts vun Ärer Applikatioun, d'Behändlung vu Verloschter an d'Limiten vun der Noriichtegréisst gëllen nach ëmmer, nodeems de Wee sech geännert huet.