وقتی کلاینت Smack و سرور XMPP روی یک ماشین توسعه اجرا می‌شوند، سرویس‌های bytestream آن‌ها به مالکیت محلیِ آگاهانه پورت نیاز دارند. خطای «Address already in use» هنگام باز کردن شنونده محلی رخ می‌دهد، پیش از تلاش برای انتقال فایل از راه دور.

پورت محلی پیش‌فرض SOCKS5 در Smack که مستند شده 7777 است. بررسی کنید کدام فرآیند از قبل آدرس و پورت مورد نظر را در اختیار دارد. اگر آن یک پروکسی سمت سرور است که کلاینت‌های دیگر هنوز به آن نیاز دارند، به جای غیرفعال کردن سرویس سرور، پورت دیگری برای کلاینت رزرو کنید.

API مستند Socks5Proxy دارای setLocalSocks5ProxyPort(int) است. مقدار منفی جستجویی را درخواست می‌کند که از قدر مطلق آن آغاز و به سمت بالا ادامه می‌یابد. وقتی آن انتخاب مجاز است، پورت شنود واقعی را بخوانید و پیش از شروع شنونده آن را پیکربندی کنید.

پورتی که کلاینت تبلیغ می‌کند باید برای طرفی که انتظار می‌رود متصل شود قابل دسترسی بماند. انتخاب پورت بلااستفاده مالکیت را درست می‌کند؛ اما مسیری از طریق NAT یا فایروال منتشر نمی‌کند.

مقالات مرتبط