ฉันจำเป็นต้องมีการส่งต่อพอร์ตเพื่อเชื่อมต่อเกม 2 ผู้เล่นผ่าน WAN หรือไม่


0

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

สิ่งที่ปกติ

แต่ผู้เล่นสามารถเชื่อมต่อได้ก็ต่อเมื่อคอมพิวเตอร์อยู่ใน LAN เดียวกันและไคลเอนต์จะเข้าสู่ที่อยู่ IP ส่วนตัวของเซิร์ฟเวอร์

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

เป็นจริงหรือไม่ (ปัจจุบันฉันไม่มีวิธีทดสอบ) และวิธีการทั่วไปในการหลีกเลี่ยงการส่งต่อพอร์ตคืออะไรเพราะผู้ใช้ส่วนใหญ่ไม่ทราบวิธีการทำ

หรือเป็นไปไม่ได้ที่สองแอพพลิเคชั่นจะเชื่อมต่อผ่าน WAN โดยไม่มีด้านใดด้านหนึ่งตั้งค่าการส่งต่อพอร์ต


PortForwardมีคำแนะนำโดยละเอียดสำหรับเกือบทุกรุ่นเราเตอร์
DavidPostill

คำตอบ:


0

คุณจะต้องทำการส่งต่อพอร์ตสำหรับเซิร์ฟเวอร์ที่โฮสต์ 'เซสชัน'

วิธีเดียวที่รอบนี้คือการมีเซิร์ฟเวอร์เฉพาะที่คอยรับฟังผู้ใช้อยู่เสมอเพื่อให้ผู้ใช้ที่พยายามเล่นเกมไม่ได้โฮสต์เซสชันของตนเอง แต่ใช้เซิร์ฟเวอร์เฉพาะสำหรับเกมแทน

อย่างไรก็ตามโดยทั่วไปการส่งต่อคำแนะนำเราเตอร์ส่วนใหญ่จะมีคำแนะนำในการทำสิ่งนี้ให้เสร็จ ปัญหาที่คุณจะมีคือ IP สาธารณะสำหรับผู้ใช้ตามบ้านมักจะไม่เปลี่ยนแปลงและจะเปลี่ยนทำให้ IP สาธารณะ 'ที่รู้จัก' ผิด


ดังนั้นขั้นตอนก่อนการเชื่อมต่อแต่ละเกมจะเป็น: 1. เซิร์ฟเวอร์ตรวจสอบและประกาศ WAN IP ปัจจุบันของเขา 2. เซิร์ฟเวอร์พอร์ตส่งต่อพอร์ตเกม (หากยังไม่เคยทำมาก่อน) 3. ไคลเอนต์เข้าสู่เซิร์ฟเวอร์ WAN IP และพวกเขาสร้างการเชื่อมต่อ อย่างไรก็ตามเกมเป็นเพียงโครงการทดสอบและเนื่องจากผู้ใช้ที่อยู่อาศัยเกือบทุกคนอยู่เบื้องหลังเราเตอร์มันจึงหลีกเลี่ยงไม่ได้ แต่ก็ทำได้ง่ายถ้าผู้เล่นคนใดคนหนึ่งรู้ขั้นตอนเหล่านี้
Netasd

ฟังดูมีเหตุผลยกเว้นที่ถูกต้องของคุณมันจะไม่สามารถพอร์ตไปข้างหน้าบนเราเตอร์เฉพาะในไฟร์วอลล์ท้องถิ่น (ถ้าเรียกใช้หนึ่ง) เช่นเดียวกับที่คุณพูดว่าสำหรับโครงการปรับสำหรับการขยายตัวต่อไปที่คุณจะต้องเป็นเจ้าภาพจัดการเซิร์ฟเวอร์สำหรับผู้เล่นของคุณ :)
CharlesH

ผู้ใช้จะต้องพอร์ตส่งต่อเราเตอร์ไปยัง IP ภายในของเซิร์ฟเวอร์ (ตรวจสอบให้แน่ใจว่าเป็นแบบคงที่ไม่ใช่ DHCP มิเช่นนั้นจะเปลี่ยนและหยุดส่งต่อพอร์ต)
CharlesH

ใช่หรือตัวเลือกการจองที่อยู่ DHCP
Netasd

อ้างว่าจะทำ :)
CharlesH
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.