แพ็กเกจ socks ของ Node ใช้ instance SocksClient พร้อม command: 'associate' สำหรับ UDP ส่วน factory SocksClient.createConnection() ที่สะดวกจะจัดการ TCP CONNECT แทน

ตัวอย่างการเชื่อมโยง ของโปรเจกต์รวมไคลเอนต์ SOCKS กับซ็อกเก็ต UDP ภายในเครื่องที่แยกต่างหาก:

  1. สร้าง UDP ASSOCIATE และคงการเชื่อมต่อควบคุม TCP ไว้
  2. อ่านโฮสต์และพอร์ตของรีเลย์ที่เซิร์ฟเวอร์ส่งกลับมา
  3. ใช้ createUDPFrame() เพื่อใส่เฟรมเพย์โหลดขาออกพร้อมที่อยู่ปลายทาง
  4. ส่งดาตาแกรมไปยังรีเลย์ จากนั้นใช้ parseUDPFrame() กับเฟรมรีเลย์ขาเข้าก่อนส่งเพย์โหลดให้แอปพลิเคชัน

ซ็อกเก็ต dgram ของ Node ให้การขนส่ง UDP แต่ไม่ตีความ URL ของ SOCKS การเชื่อมโยงและการใส่เฟรมให้โปรโตคอลพร็อกซีรอบดาตาแกรมเหล่านั้น

เซิร์ฟเวอร์ต้องรองรับ UDP และปลายทางของรีเลย์ต้องเข้าถึงได้ การเชื่อมต่อ TCP ที่สำเร็จไปยังพอร์ตพร็อกซีเริ่มต้นไม่ได้ทดสอบเส้นทางนั้น ปิดทรัพยากรควบคุมและ UDP เมื่อไม่ต้องการการเชื่อมโยงแล้ว

บทความที่เกี่ยวข้อง