XMPP ஸ்ட்ரீமை உண்மையில் சுமக்கும் இணைப்பை உள்ளமைக்கவும். தொடர்பில்லாத URLConnection இல் ப்ராக்ஸியை அமைப்பது Smack இன் TCP இணைப்பை செய்தி சேவைக்கு திசைதிருப்பாது.

Smack 4.4 HTTP, SOCKS4 மற்றும் SOCKS5 க்கான ProxyInfo தொழிற்சாலைகளை வழங்குகிறது. விளைவாக வரும் பொருளை XMPP இணைப்பு பில்டருடன் இணைக்கவும்:

import org.jivesoftware.smack.ConnectionConfiguration;
import org.jivesoftware.smack.proxy.ProxyInfo;
import org.jivesoftware.smack.tcp.XMPPTCPConnectionConfiguration;

ProxyInfo proxy = ProxyInfo.forSocks5Proxy(
    "proxy.example.net", 1080, proxyUser, proxyPassword
);

XMPPTCPConnectionConfiguration config =
    XMPPTCPConnectionConfiguration.builder()
        .setXmppDomain("chat.example.net")
        .setHost("xmpp-node.example.net")
        .setPort(5222)
        .setProxyInfo(proxy)
        .setSecurityMode(
            ConnectionConfiguration.SecurityMode.required
        )
        .build();

இது ஏற்கனவே உள்ள Smack 4.4 அமைப்புக்கான உள்ளமைவு துண்டு. சுற்றியுள்ள பயன்பாடு பில்டரின் சரிபார்க்கப்பட்ட விதிவிலக்குகளை கையாள்கிறது மற்றும் ப்ராக்ஸி சான்றுகளை வழங்குகிறது. வெளிப்படையான ஹோஸ்ட் மற்றும் போர்ட் XMPP சேவையின் உண்மையான TCP முனைப்புள்ளியைக் குறிக்கின்றன.

வெவ்வேறு பாத்திரங்களைக் கொண்ட மூன்று பெயர்கள் உள்ளன:

  • proxy.example.net ஆரம்ப இணைப்பைப் பெறும் இடைத்தரகர்.
  • xmpp-node.example.net ப்ராக்ஸி அடைய வேண்டிய சேவையக முனைப்புள்ளி.
  • chat.example.net XMPP சேவை டொமைன், எடுத்துக்காட்டாக கணக்கின் JID இல் @ க்குப் பிறகு வரும் டொமைன்.

ஒரு சேவை கடைசி இரண்டுக்கும் ஒரே பெயரைப் பயன்படுத்தலாம், ஆனால் ப்ராக்ஸி ஹோஸ்ட்பெயர் அவற்றில் எதையும் மாற்றாது. இணைப்பிலும் அதன் TLS சரிபார்ப்பிலும் நோக்கமான XMPP சேவை அடையாளத்தைப் பாதுகாக்கவும்.

HTTP ப்ராக்ஸிக்கு பொருத்தமான ப்ராக்ஸி போர்ட் மற்றும் சான்றுகளுடன் ProxyInfo.forHttpProxy ஐப் பயன்படுத்தவும். அந்த பாதைக்கு XMPP இணைப்பை சுரங்கப்பாதையாக்கி அதன் இலக்கு போர்ட்டை அனுமதிக்கும் ப்ராக்ஸி தேவை. HTTPS இணைய உலாவலைக் கையாளும் ப்ராக்ஸி 5222 இல் XMPP சேவைக்கான TCP இணைப்புகளை தானாக அனுமதிக்காது.

துண்டில் தேவையான பாதுகாப்பு பயன்முறை TLS ஐ XMPP இணைப்பின் நிபந்தனையாக மாற்றுகிறது. இது ப்ராக்ஸி அங்கீகாரத்தைச் செய்யாது, ப்ராக்ஸி சான்றுகள் XMPP கணக்கில் உள்நுழையாது. பாதையும் பாதுகாப்பான அமர்வும் நிறுவப்பட்ட பிறகு Smack இன் வழக்கமான அங்கீகார ஓட்டத்தின் மூலம் XMPP கணக்கை உள்ளமைக்கவும்.

எடுத்துக்காட்டுகளை அவற்றின் API தலைமுறைக்குள் வைத்திருங்கள். பழைய கன்ஸ்ட்ரக்டர் அடிப்படையிலான ConnectionConfiguration எடுத்துக்காட்டுகள் அதே ரூட்டிங் கருத்தை வெளிப்படுத்துகின்றன, ஆனால் இங்கே பயன்படுத்தப்படும் இடைமுகம் Smack 4.4 இன் பில்டர். அந்தக் கருத்தை தற்போதைய XMPP சேவைக்குப் பயன்படுத்த காலாவதியான செய்தி வழங்குநரின் ஹோஸ்ட்பெயர்களை மீண்டும் உருவாக்க வேண்டியதில்லை.

தொடர்புடைய கட்டுரைகள்