عندما يعمل عميل Smack وخادم XMPP على جهاز التطوير نفسه، تحتاج خدمات bytestream لديهما إلى ملكية محلية محددة للمنفذ. يظهر فشل “Address already in use” عند فتح المستمع المحلي، قبل محاولة نقل ملف عن بُعد.

المنفذ المحلي الافتراضي الموثق لـ SOCKS5 في Smack هو 7777. تحقق من العملية التي تملك العنوان والمنفذ المقصودين بالفعل. إذا كانت تلك العملية وكيلًا على جانب الخادم لا يزال عملاء آخرون يحتاجونه، فاحجز منفذًا آخر للعميل بدلًا من تعطيل خدمة الخادم.

تحتوي واجهة Socks5Proxy الموثقة على setLocalSocks5ProxyPort(int). القيمة السالبة تطلب بحثًا يبدأ من قيمتها المطلقة ويستمر صعودًا. اقرأ منفذ الاستماع الفعلي عندما يُسمح بذلك الاختيار، واضبطه قبل بدء المستمع.

يجب أن يظل المنفذ الذي يعلنه العميل قابلًا للوصول من الطرف المتوقع اتصاله. اختيار منفذ غير مستخدم يصلح الملكية؛ لكنه لا ينشر مسارًا عبر NAT أو جدار حماية.

مقالات ذات صلة