ดังนั้นฉันจึงสร้างเกมง่ายๆที่ผู้เล่นสองคนสามารถเชื่อมต่อเพื่อเล่นด้วยกัน - หนึ่งในนั้นเลือกตัวเลือกเซิร์ฟเวอร์ (จากนั้นเกมก็เริ่มฟังการซิงค์ TCP ขาเข้า) และอีกหนึ่งป้อน IP ของผู้เล่นเซิร์ฟเวอร์เพื่อสร้างการเชื่อมต่อและ แลกเปลี่ยนข้อมูลการเล่นเกมผ่านซ็อกเก็ต TCP
สิ่งที่ปกติ
แต่ผู้เล่นสามารถเชื่อมต่อได้ก็ต่อเมื่อคอมพิวเตอร์อยู่ใน LAN เดียวกันและไคลเอนต์จะเข้าสู่ที่อยู่ IP ส่วนตัวของเซิร์ฟเวอร์
ดังนั้นฉันเดาว่าถ้าผู้เล่นอยู่ใน LAN ที่ต่างกันเซิร์ฟเวอร์ต้องมีพอร์ตไปข้างหน้าพอร์ตเกม (55555) และจากนั้นไคลเอ็นต์ใด ๆ ก็สามารถเชื่อมต่อได้โดยป้อนที่อยู่ IP สาธารณะ
เป็นจริงหรือไม่ (ปัจจุบันฉันไม่มีวิธีทดสอบ) และวิธีการทั่วไปในการหลีกเลี่ยงการส่งต่อพอร์ตคืออะไรเพราะผู้ใช้ส่วนใหญ่ไม่ทราบวิธีการทำ
หรือเป็นไปไม่ได้ที่สองแอพพลิเคชั่นจะเชื่อมต่อผ่าน WAN โดยไม่มีด้านใดด้านหนึ่งตั้งค่าการส่งต่อพอร์ต