שליחת מידע על גבי הרשת Unity

tapuzPlayer

New member
שליחת מידע על גבי הרשת Unity

אהלן , אני כותב משחק קטן בשביל ללמוד על איך לתכנת משחק ברשת ב - Unity3d הבעיה האחרונה שנתקלתי בה היא כיצד לשלוח מידע "מורכב" ברשת ? זאת אומרת יש לי שרת שמחזיק את רשימת השחקנים של המשחק (כולל השרת) ברגע שלקוח מתחבר אני רוצה לעדכן אותו ברשימת השחקנים הבעיה היא כיצד לשלוח את המידע הנ"ל כיוון שרשימת השחקנים היא Arraylist שאליה אני מוסיף אובייקטים מסוג playerInfo שהוא struct
public struct playerInfo{ public string name; public string shipID; public string color; public string ipAddress; public bool isActive; } ArrayList players; כך אני מוסיף שחקן חדש לרשימה [RPC] public void newPlayer_RPC(string name, string shipID, string color, string ipAddress, bool isActive) { playerInfo playerTMP = new playerInfo(); playerTMP.name = name; playerTMP.shipID = shipID; playerTMP.color = color; playerTMP.ipAddress = ipAddress; playerTMP.isActive = isActive; Debug.Log(name); players.Add(playerTMP); }​
עכשיו איך בדיוק אני שולח את המידע אל הלקוח ? הבנתי כי אי אפשר לשלוח אובייקטים שהם לא מסוג מסויים אם אני לא טועה ?
 

De-Panther

New member
באיזה פרוטוקול אתה משתמש כדי להעביר נתונים...

בין השרת למחשב של השחקן?
 

tapuzPlayer

New member
אני משתמש בעקרון ב - UDP

לא משהו שאני כתבתי אני משתמש בפונקציונאליות של יוניטי networkview עם קריאות של RPC
 

De-Panther

New member
לא יצא לי לעבוד הרבה עם הנטוורקויו, אז אני לא

יודע איזה נתונים הוא מאפשר להעביר. אבל אני מניח שאתה יכול להעביר סטרינג בתבנית מסוימת עם כל הנתונים שאתה צריך, ולפרש אותו מחדש במחשבים של שאר השחקנים
 

terra2

New member
אתה עובד עם שרת מדיה?

ואם כן עם איזה שרת? ואם לא .. אז מומלץ לך להתחיל לעבוד עם שרתי מדיה וללמוד את ה api שלהם.
 
למעלה