04-10-2007, 22:52
|
|
|
חבר מתאריך: 18.01.05
הודעות: 180
|
|
בכיף :)
נניח שיש לך חלון משחק (בד"כ נבנה בwin app). כעת, תבנה win app נוסף שבעזרתו תקבל מהמשתמש את המידע הבא - אם השחקן רוצה להציע משחק או להצטרף למשחק פעיל שטרם התחיל. כמובן שאם הוא בחר להציע משחק, נכניס נתון זה לטבלה באקסס ונשמור נתון זה עד שמישהו יצטרף למשחק. בנוסף, ניצור שרת בתוך המשחשב של מציע המשחק.
[משהו בסגנון הזה:
קוד:
publicstaticvoid RegisterServer()
{
IChannel chan = GetChannel();
ChannelServices.RegisterChannel( chan );
RemotingConfiguration.RegisterWellKnownServiceType ( typeof(ChessServerObject),
"ChessServer", WellKnownObjectMode.Singleton );
}
]
כאשר משתמש בוחר להצטרף למשחק: אז שומרים בתוך טבלה שנמצאת בשרת את הIP של השחקן שהציע, את הIP של השחקן שהצטרף, משך זמן משחק ונתונים נוספים שתבחר. כעת הוא מתחבר לשרת שנמצא אצל השחקן שהציע את המשחק(יש לציין שישנה התחברות גם של השחקן שהציע את המשחק - לשרת שנבנה בתוכו). לאחר החיבור, ולפי מודל observer, נשים timer, שיבדוק כל פעם אם יש עדכון חדש לכל השחקנים(objects) שנשלח מהשרת.
כעיקרון מבחינת התקשורת, תצטרך ללמוד tcpChannels וrempting.
מקווה שעזרתי.
|