ضع تفاوض SOCKS في Netty قبل بروتوكول تطبيقك
رتّب معالج وكيل SOCKS في Netty قبل حركة التطبيق واحتفظ بوجهة غير محلولة عندما يكون DNS من جانب الوكيل مقصودًا.
لبوتبستراب/خط أنابيب Netty موجود حيث ينبغي لخادم SOCKS أن يحل الوجهة:
bootstrap.resolver(NoopAddressResolverGroup.INSTANCE);
pipeline.addFirst(
new Socks5ProxyHandler(new InetSocketAddress("127.0.0.1", 1080))
);
bootstrap.connect(
InetSocketAddress.createUnresolved("example.com", 443)
);نقطة نهاية الوكيل هي المنفذ المحلي 1080؛ هدف الاتصال غير المحلول هو example.com:443. لا تستخدم عنوان الوكيل للدورين معًا ولا تحل الاسم قبل أن يستلمه المعالج. بالنسبة للأهداف العامة على مسار وكيل عام مسموح، توفّر قائمة وكلاء SOCKS5 مرشحين لنقطة نهاية الوكيل لدى المعالج.
ضع Socks5ProxyHandler قبل المعالجات التي تتبادل حركة الوجهة. انتظر مستقبل اتصال الوكيل، لا مجرد قناة تصل إلى المستمع. الطريقة أو الوجهة المرفوضة تنتمي إلى مرحلة الإعداد هذه.
في HTTPS، تستخدم طبقة TLS التالية اسم مضيف الوجهة والتحقق والثقة المطلوبين—لا هوية نقطة نهاية SOCKS. عندئذ فقط يبدأ تبادل HTTP/التطبيق.
لا يوفّر المقطع حلقات الأحداث أو أنواع القنوات أو معالجات TLS/HTTP أو معالجة الأخطاء العادية. اختر مُنشئ SOCKS المطابق لاحتياجات المصادقة؛ معالج HTTP Basic بروتوكول آخر.
استخدم المحلّل الفارغ فقط حيث يملك هذا المعالج النهائي حل اسم المضيف. قد تحتاج اتصالات أخرى إلى بحث محلي. أبقِ مخرجات المحلّل ومستقبل الوكيل وTLS ونتيجة التطبيق منفصلة عند تشخيص عطل.