คำถามติดแท็ก networking

คอมพิวเตอร์สองเครื่องขึ้นไปเชื่อมต่อกันผ่านการเชื่อมต่อด้วยสายเคเบิลหรือการสื่อสารไร้สายเพื่อการแลกเปลี่ยนข้อมูล

1
การรันทั้งเซิร์ฟเวอร์และไคลเอนต์ภายในกระบวนการเดียวกัน
คำถาม ฉันเพิ่งเริ่มทำงานกับLidgrenและระบบเครือข่ายเป็นครั้งแรกและฉันได้ตระหนักว่ามันเป็นไปได้ที่จะเรียกใช้ทั้งเซิร์ฟเวอร์และไคลเอนต์ภายในกระบวนการเดียวกัน การฝึกฝนนี้ไม่สนับสนุนด้วยเหตุผลใด ๆ หรือไม่? บริบท เหตุผลที่ฉันถามก็เพราะฉันคิดว่าทฤษฎีนี้อาจทำให้ฉันสามารถเล่นทั้งโหมดผู้เล่นคนเดียวและโหมดผู้เล่นหลายคนในแบบเดียวและแบบเดียวกันซึ่งจะเป็นประโยชน์อย่างมาก ตามแนวความคิดของฉันนี่คือการแจกแจงที่ฉันมีอยู่ในใจ: Singleplayer - 1 เซิร์ฟเวอร์ + 1 ไคลเอนต์ในกระบวนการเดียวกัน การสื่อสารมีความเร็วแค่ไหน? Multiplayer - เหมือนกับ singleplayer สำหรับโฮสต์ + 1 aditional client สำหรับผู้เล่นอื่น โฟลว์การดำเนินการที่ฉันนึกภาพนั้นมีไว้สำหรับให้ลูกค้ารับการป้อนข้อมูลของผู้ใช้และส่งการแจ้งเตือนไปยังเซิร์ฟเวอร์ จากนั้นเซิร์ฟเวอร์จะตรวจสอบความถูกต้องและเผยแพร่การดำเนินการที่จะดำเนินการโดยลูกค้าทั้งหมด ไม่สำคัญว่าจะมีลูกค้าเพียงรายเดียว (เช่นผู้เล่นคนเดียว) หรือลูกค้าหลายราย (เช่นผู้เล่นหลายคน)

3
โซลูชันสำหรับการค้นพบ LAN ที่มีน้ำหนักเบาหรือไม่
ฉันสร้างห้องสมุดสำหรับการเขียนโปรแกรมข้ามแพลตฟอร์มล้วนๆ เกมของฉันทำงานได้ดีใน Android, PC, Linux, Mac และอื่น ๆ ความสามารถในการเชื่อมต่อเครือข่ายนั้นมาจากไลบรารีของ ENET ดังนั้นการสื่อสารทั้งหมดระหว่างแอพของฉันไม่เข้ากันได้กับ TCP หรือ UDP แต่เฉพาะในโปรโตคอลที่กำหนดเองเท่านั้น ฉันไม่คิดว่าเป็นไปได้ที่จะทำสิ่งที่ฉันต้องการด้วย ENET นั่นเป็นเหตุผลที่ฉันขอความช่วยเหลือที่นี่! ให้บอกว่าฉันมีเกมเดียวกันที่ทำงานในโทรศัพท์ Android แล็ปท็อปและพีซีของฉัน พวกเขาทั้งหมดอยู่ในเครือข่าย wifi เดียวกันและดังนั้นใน LAN ไม่ว่าจะเป็นฮอตสปอต Wifi (?) หรือเราเตอร์ในครัวเรือน ฉันต้องการเพื่อนทั้งสามคนนี้เพื่อค้นหาอีกสองคนในเครือข่าย นี่เป็นเพียงการหาไอพีของแอพที่มีชีวิตในเครือข่าย LAN เพื่อให้สามารถโฮสต์เกมแบบผู้เล่นหลายคนระหว่างพวกเขาได้ ฉันสามารถคิดถึงวิธีที่มีประสิทธิภาพเพียงวิธีเดียวในการทำเช่นนี้การออกอากาศ UDP รอการตอบกลับ แต่ถ้านั่นเป็นวิธีแก้ปัญหาฉันต้องมีบางสิ่งบางอย่างเล็ก ๆ วิธีอื่นอาจลองเชื่อมต่อกับ IP ทั้งหมดในช่วงย่อยที่อยู่ LAN แต่ฉันไม่คิดว่าระบบปฏิบัติการจะอยู่กับฉันในรายการนี้: p

4
การจำลองทางฟิสิกส์ฝั่งเซิร์ฟเวอร์ที่มีผู้เล่นหลายร้อยคน
ขณะนี้ฉันกำลังทำงานในเกมแนวฟิสิกส์ที่ผู้เล่นคนเดียวซึ่งฉันต้องการให้ฟิสิกส์เป็นฝั่งเซิร์ฟเวอร์จำลอง นี่เป็นเพราะเกมจะมีกระดานผู้นำผู้เล่นที่ต่อเนื่องและอื่น ๆ และฉันต้องการป้องกันการโกงใด ๆ - โดยทั่วไปเป็นสถาปัตยกรรมไคลเอนต์ - เซิร์ฟเวอร์ที่แท้จริงไคลเอนต์ "โง่" และแสดงเฉพาะสิ่งที่เซิร์ฟเวอร์ต้องการให้คุณแสดง อย่างไรก็ตามปัญหาคือเกมนี้มีผู้เล่นหลายร้อยคน (อาจจะเป็นพันคน) ในเวลาเดียวกัน เรื่องนี้เกี่ยวข้องกับฉันเพราะมันน่าจะทำให้พลังในการประมวลผลของเซิร์ฟเวอร์ลดลงถ้าฉันต้องทำและรักษาสถานะเป็นร้อย ๆ รายการในเวลาเดียวกัน ฉันจะไม่มีปัญหาในการย้ายการจำลองฟิสิกส์ทั้งหมดไปยังฝั่งไคลเอ็นต์ แต่จากนั้นฉันจะต้องมีวิธีการตรวจสอบจริง ๆ ถ้าผลลัพธ์ของการจำลองไคลเอ็นต์นั้นถูกต้อง อย่างไรก็ตามฉันไม่สามารถหาวิธี ฉันคิดเกี่ยวกับการใช้ฝั่งเซิร์ฟเวอร์จำลองนาน ๆ ครั้งเพื่อตรวจสอบว่าไคลเอนต์ยังคงเล่นอยู่ แต่ฉันต้องการให้เซิร์ฟเวอร์มีความเครียดน้อยที่สุดเท่าที่จะทำได้ วิชาฟิสิกส์จะมีความซับซ้อนเท่ากับการสาธิต GDC 2011 โดย Glenn Fiedlerซึ่งอาจจะง่ายกว่า อย่างไรก็ตามฉากที่มีการชนกันของร่างกายที่แข็งกระด้างจะอยู่ในฉากเดียวและพวกมันจะมองเห็นได้ในครั้งเดียว ฉันมีความยากลำบากในการได้รับคำตอบของกรณีนี้เนื่องจากทรัพยากรส่วนใหญ่บนเว็บ - อีกครั้งเว็บไซต์ Glenn Fiedlers เป็นเว็บไซต์ที่ยอดเยี่ยม - พูดถึงฟิสิกส์เครือข่ายขนาดเล็ก (เช่น FPS ที่มีผู้เล่น 30 คนเช่น Halo) คำแนะนำเว็บไซต์เอกสารหรือสิ่งที่ชอบในเรื่องใด ๆ จะได้รับการชื่นชมมาก …


3
ฉันจะป้องกันการปลอมแปลงตัวตนในเกมที่มีผู้เล่นหลายคนได้อย่างไร
ฉันกำลังคิดเกี่ยวกับลูกค้าที่แอบอ้างที่อยู่ IP หลอกลูกค้ารายอื่นว่าเป็นเซิร์ฟเวอร์ สิ่งนั้น (ฉันไม่ค่อยรู้เรื่องนี้มากนักดังนั้นถ้านี่ผิดทั้งหมดโปรดแก้ไขให้ฉันด้วย) ฉันควรทำอย่างไรเพื่อป้องกันปัญหานี้ เพราะมันเป็นเกมเรียลไทม์ถ้าฉันต้องใช้การเข้ารหัสฉันจะใช้สิ่งที่รวดเร็วและปลอดภัยเหมือน RC4 ฉันควรเข้ารหัสข้อมูลแพ็คเก็ตด้วยคีย์ที่เซิร์ฟเวอร์มอบให้กับลูกค้าหรือไม่ ถ้ามันสร้างความแตกต่างฉันใช้ UDP

2
พื้นฐานเกมมัลติเพลเยอร์ออนไลน์ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน6 ปีที่ผ่านมา ฉันกำลังทำงานกับเกมมัลติเพลเยอร์ออนไลน์ ac # แบบเรียลไทม์ จุดมุ่งหมายคือการมีการเชื่อมต่อลูกค้า / เซิร์ฟเวอร์โดยใช้โปรโตคอล UDP จนถึงตอนนี้ฉันใช้ UDP สำหรับการเคลื่อนไหวของผู้เล่นและ TCP สำหรับกิจกรรม (ผู้เล่นยิงผู้เล่นเสียชีวิต) เพราะฉันต้องแน่ใจว่าข้อมูลดังกล่าวจะมาถึงผู้เล่นทุกคนที่เชื่อมต่อกับเซิร์ฟเวอร์ ฉันรู้ว่า UDP ถูกกล่าวว่า 'ไม่น่าเชื่อถือ' และแพ็คเก็ตบางอย่างอาจสูญหายได้ แต่ฉันได้อ่านทุกที่เพื่อไม่ผสม TCP และ UDP เพราะอาจส่งผลต่อการเชื่อมต่อ คำถามหลักคือฉันจะจัดระเบียบเครือข่ายของฉันได้อย่างไร UDP ไม่มีการเชื่อมต่อฉันจะบันทึกว่าใครเป็นใครได้อย่างไร ฉันควรบันทึกที่อยู่ ip ของลูกค้าในรายการหรือไม่ ฉันควรใช้ TCP สำหรับเหตุการณ์สำคัญหรือใช้ UDP หรือไม่ ถ้าฉันต้องการใช้ UDP ฉันจะแน่ใจได้อย่างไรว่าข้อมูลจะไม่สูญหาย …

2
ข้อมูลเกี่ยวกับสถาปัตยกรรมเซิร์ฟเวอร์ MMO ที่ไร้รอยต่อ
ฉันกำลังมองหาวัสดุใด ๆ บนเซิร์ฟเวอร์ MMO ที่ไร้รอยต่อ! ฉันมีบทความเล็ก ๆ น้อย ๆ ในหนังสือ "Massively Multiplayer Game Development" และ "Game Programming Gems 5" มีใครเคยมีประสบการณ์ในหัวข้อนั้นหรือรู้บทความเกี่ยวกับเรื่องนั้นบ้าง? ฉันสนใจใน "มุมมองระดับสูง" เช่นเดียวกับการใช้งาน นี่อาจเป็นหัวข้อของวิทยานิพนธ์หลักของฉันและฉันต้องการค้นหาว่าการเขียนระบบดังกล่าวยากเพียงใดก่อนที่ฉันจะเริ่มทำวิทยานิพนธ์ ตอนนี้ฉันยังไม่ได้ตัดสินใจว่าจะใช้ภาษาใดฉันกำลังคิดเกี่ยวกับ Java หรือ Scala Erlang อาจเป็นทางเลือก แต่ฉันไม่เคยทำงานด้วย หมายเหตุ: ความต้องการขั้นพื้นฐานจะเป็นการเคลื่อนไหว ระบบเกมอื่น ๆ เป็นทางเลือกและให้ "เครดิตโบนัส" ตอนนี้สำหรับสิ่งที่ฉันหมายถึงกับ "เซิร์ฟเวอร์ที่ไร้รอยต่อ": ฉันต้องการตั้งค่าเซิร์ฟเวอร์คลัสเตอร์ที่ทุกโหนดควบคุมบางส่วนของโลกเกมที่มีขอบเขตคงที่ ผู้เล่นสามารถย้ายจากปลายด้านหนึ่งของโลกไปยังอีกฝั่งหนึ่งโดยไม่ต้องสลับอินสแตนซ์หรือกดปุ่ม "teleporter" ฉันคิดว่า WoW ทำเช่นนั้น ในแบ็คเอนด์ของฉันอย่างไรก็ตามผู้เล่นเปลี่ยนจากเซิร์ฟเวอร์หนึ่งไปเป็นเซิร์ฟเวอร์ถัดไป

2
MMO เทคนิคอัลกอริธึมและทรัพยากรเพื่อรักษาแบนด์วิดธ์ต่ำ?
มีทรัพยากรและเอกสารประกอบว่า MMO ปัจจุบันจัดการกับข้อมูลการกระทำและการเคลื่อนไหวจากการบีบอัดไปยังการจัดการบนไคลเอนต์หรือไม่? มีแหล่งข้อมูลใดสำหรับอัลกอริทึมการทำนายการเคลื่อนไหว? ฉันสนใจเป็นพิเศษกับผู้ที่มีการเคลื่อนไหว wsad และมุ่งเน้นที่การรักษาเวลาแฝงให้ต่ำนอกจากนี้อัตราและแพ็คเก็ตสำหรับ MMO ประเภทต่างๆ (เครือข่ายฉลาด) คืออะไร มีวิธีการปรับขนาดอัตราแพ็คเก็ตหรือปิดใช้งานแพ็กเก็ตบางกรณีหากผู้เล่นไม่สามารถเข้าถึงหรือในกรณีต่อมาเห็นพวกเขา?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.