
27-08-2006, 12:50
|
|
|
|
חבר מתאריך: 28.06.06
הודעות: 102
|
|
יש שתי אפשרויות לעשות משחק online
האפשרות הראשונה היא שכל השחקנים מתחברים לשרת
אם יש לך שני שחקנים:
שחקן <-> שרת <-> שחקן
ואם יש לך נניח 5 שחקנים אז
שחקן 1 <-> שרת
שחקן 2 <-> שרת
שחקן 3 <-> שרת
שחקן 4 <-> שרת
שחקן 5 <-> שרת
עכשיו, מה הבעייה?
שאם יש לך 10 משחקים, בכל אחד נניח 3 שחקנים, אז יהיו 30 אנשים מחוברים לשרת. יש לך שרת שיעמוד בכזה עומס?
עוד דבר זה המהירות תקשורת. כשהתקשורת עוברת דרך שרת, זה מעקב אותה, אלא אם השרת מאוד מהיר.
שרת HTTP לא יחזיק לך משחק רשת בזמן אמת. הוא יוכל להחזיק לך משחק קלפים למשל, או משחק בתורות, אבל גם זה בצורה די מוגבלת.
בשיטה הזאת משתמשים במשחקים המונטיים, זאת אומרת, משחק אחד שכל מי שרוצה יכול להצטרף אליו... אבל להם יש גם סופר שרתים.
אם מדובר במשחק סטנדרטי יותר, שנניח מתחברים 3 אנשים ואז מתחילים משחק בינהם, אז הדרך הנכונה לעשות את זה היא עם ip2ip.
זאת אומרת, יש שחקן אחד שהוא הhost, המארח של המשחק, וכל השאר מתחברים אליו, הם הclients.
התקשורת במקרה כזה עובדת ככה:
שחקן 1 <-> שחקן 2
ואם יש לך נניח 3 שחקנים:
שחקן 3 <-> שחקן 1 <-> שחקן 2
ואם יש לך יותר..... כולם מחוברים לשחק 1, בקיצור.
המחשב שלו סביר להניח יוכל לעמוד בזה, בייחוד היום עם האינטרנט המהיר וכל זה, כי הוא צריך לארח בסך הכל משחק אחד.
עכשיו, איך אתה עושה את זה מבחינת פלאש?
פלאש לא בנויה לעבוד בip2ip, ולכן צריך לבנות תוכנת עזר שתיצור את הקשר בין שני המחשבים.
זה נראה ככה:
פלאש 1 <-> תוכנת עזר 1 <-> תוכנת עזר 2 <-> פלאש 2
וככה יש לך תקשורת בין מחשב 1 למחשב 2.
איך עושים את זה בפועל?
קודם כל אתה צריך לבנות תוכנת עזר.... לא משנה באיזה שפה (C, C++, VB וכו'). בתוכנה הזאת אתה צריך:
א. תקשורת בין שני מחשבים בעזרת socketים
ב. תקשורת בין התוכנה לפלאש, socket בתוכנת עזר וxmlsocket בפלאש.
זהו. בהצלחה!
|