جب Smack کلائنٹ اور XMPP سرور ایک ہی ترقیاتی مشین پر چلتے ہیں، تو ان کی bytestream سروسز کو جان بوجھ کر مقامی پورٹ کی ملکیت درکار ہوتی ہے۔ مقامی سامع کھولتے وقت “Address already in use” ناکامی پیش آتی ہے، دور دراز فائل کی منتقلی کی کوشش سے پہلے۔

Smack کا دستاویزی ڈیفالٹ مقامی SOCKS5 پورٹ 7777 ہے۔ جانچیں کہ مطلوبہ پتہ اور پورٹ پہلے ہی کس عمل کے پاس ہے۔ اگر وہ سرور کی طرف کا پراکسی ہے جس کی دوسرے کلائنٹس کو اب بھی ضرورت ہے، تو سرور سروس بند کرنے کے بجائے کلائنٹ کے لیے دوسرا پورٹ مختص کریں۔

دستاویزی Socks5Proxy API میں setLocalSocks5ProxyPort(int) موجود ہے۔ منفی قدر اس کی مطلق قدر سے شروع ہو کر اوپر جاری رہنے والی تلاش کی درخواست کرتی ہے۔ جب وہ انتخاب اجازت شدہ ہو تو اصل سننے والا پورٹ پڑھیں، اور سامع شروع کرنے سے پہلے اسے ترتیب دیں۔

کلائنٹ جس پورٹ کا اعلان کرتا ہے وہ اس فریق کے لیے قابل رسائی رہنا چاہیے جس سے جڑنے کی توقع ہے۔ غیر استعمال شدہ پورٹ منتخب کرنا ملکیت درست کرتا ہے؛ یہ NAT یا فائر وال کے ذریعے راستہ شائع نہیں کرتا۔

متعلقہ مضامین