لتنفيذ المقابس في OpenJDK 25، اختر SOCKS4 باستخدام الخاصية socksProxyVersion. يمكن توفيرها عند تشغيل التطبيق:

java -DsocksProxyVersion=4 YourApplication

لا يزال بإمكان التطبيق توفير نقطة نهاية الوكيل صراحةً:

Proxy proxy = new Proxy(Proxy.Type.SOCKS,
    new InetSocketAddress("proxy.example", 1080));
try (Socket socket = new Socket(proxy)) {
    socket.connect(new InetSocketAddress("192.0.2.10", 80), 5000);
    socket.setSoTimeout(10000);
}

العناوين عناصر نائبة. يمكن لعنوان غير موثّق من قائمة وكلاء SOCKS4 أن يملأ مضيف الوكيل ومنفذه لاختبار IPv4 عام مسموح؛ استخدم عنوان IPv4 الهدف الفعلي والمنفذ بشكل منفصل. تفتح هذه القطعة تدفق TCP وتغلقه؛ وسيستخدم بروتوكول التطبيق التدفق المتصل داخل الكتلة.

يتحقق تنفيذ OpenJDK 25 من خاصية الإصدار حتى عندما يتلقى المُنشئ كائن Proxy عاديًا صريحًا من نوع SOCKS. يحتوي كائن Proxy العام نفسه على نوع وعنوان، وليس على حقل إصدار SOCKS لكل كائن.

لخاصية الإصدار نطاق على مستوى JVM. إذا كانت أحمال العمل المتزامنة تتطلب إصدارات SOCKS مختلفة، فلا تبدّلها ذهابًا وإيابًا حول الطلبات الفردية. استخدم بدلًا من ذلك واجهة عميل تدعم الاختيار المطلوب لكل اتصال. انعكاس setV4 الخاص من أمثلة JDK القديمة ليس واجهة التكوين المدعومة.

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