Indy UDP ASSOCIATE ವಿನಂತಿಯಲ್ಲಿ 0.0.0.0:0 ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿರಬಹುದು. ಆ ವಿನಂತಿ ಕ್ಲೈಂಟ್ ಬದಿಯ ನಿರೀಕ್ಷಿತ UDP ಅಂತ್ಯಬಿಂದುವನ್ನು ವಿವರಿಸುತ್ತದೆ, ಮತ್ತು RFC 1928 ಅದು ತಿಳಿದಿಲ್ಲದಿದ್ದಾಗ ಶೂನ್ಯಗಳನ್ನು ಅನುಮತಿಸುತ್ತದೆ. ಅದು ಅಂತಿಮ ಸೇವೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡುವುದಿಲ್ಲ.

ಪ್ರತ್ಯುತ್ತರದ BND.ADDR/BND.PORT ಕ್ಲೈಂಟ್ ಸುತ್ತುವರಿದ ಡೇಟಾಗ್ರಾಮ್‌ಗಳನ್ನು ಕಳುಹಿಸುವ ರಿಲೇಯನ್ನು ಸೂಚಿಸುತ್ತದೆ.

TCP control: client → SOCKS5 proxy → UDP association reply
UDP payload: client → returned relay address → target service

Indy ನಲ್ಲಿ TIdUDPClient.Connect ಪಾರದರ್ಶಕ ಪ್ರಾಕ್ಸಿಯ OpenUDP ಅನ್ನು ಕರೆಯುತ್ತದೆ. TIdSocksInfo ಶೂನ್ಯ ಸಂಘ ಕ್ಷೇತ್ರಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ನಂತರ SendBuffer ಬಯಸಿದ ಸೇವೆಯನ್ನು SendToUDP ಗೆ ರವಾನಿಸುತ್ತದೆ, ಅದು ಅಪ್ಲಿಕೇಶನ್ ಡೇಟಾದ ಮೊದಲು SOCKS UDP ಗಮ್ಯಸ್ಥಾನ ಹೆಡರ್ ಅನ್ನು ನಿರ್ಮಿಸುತ್ತದೆ.

ಸಂಘ ಯಶಸ್ವಿಯಾದರೂ ಸಂಚಾರ ವಿಫಲವಾದರೆ, ಹಿಂತಿರುಗಿಸಿದ ರಿಲೇ, ಎನ್‌ಕೋಡ್ ಆದ ಗಮ್ಯಸ್ಥಾನ ಮತ್ತು UDP ಪ್ರತ್ಯುತ್ತರ ಮಾರ್ಗವನ್ನು ಪರಿಶೀಲಿಸಿ. NAT/ಫೈರ್‌ವಾಲ್‌ಗಳು TCP ವಿನಿಮಯವನ್ನು ಅನುಮತಿಸಿ UDP ಅನ್ನು ನಿರ್ಬಂಧಿಸಬಹುದು.

TCP ನಿಯಂತ್ರಣ ಸಂಪರ್ಕವನ್ನು ತೆರೆದಿಡಿ; ಅದನ್ನು ಮುಚ್ಚಿದರೆ ಸಂಘ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ. SOCKS4/4a ಗೆ ಈ ಕಾರ್ಯಾಚರಣೆ ಇಲ್ಲ, ಮತ್ತು ಕೇವಲ SOCKS5 ಹೆಸರು ಸರ್ವರ್ UDP ಬೆಂಬಲಿಸುತ್ತದೆ ಎಂದು ಖಾತರಿಪಡಿಸುವುದಿಲ್ಲ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು