התלבטות ב Java MVC

  • פותח הנושא J2EE
  • פורסם בתאריך

J2EE

New member
התלבטות ב Java MVC

יש לי קוד של Client הממתין בלולאה לקבלת מידע מה GUI ואז שולח אותו לשרת. (לאחר חזרת מידע מהשרת ה client כמובן מראה את המידע ב GUI ) השאלה היא כיצד לתזמן את ההמתנה של ה client למידע : 1. במנגנון wait\ notify ? 2. במנגנון Observer \ Observable ? 3. באמצעות Pipe IO ? ה - MVC הוא דו כווני (GUI-Client) אבל נראה לי שיותר חשובה זרימת המידע מה GUI אל ה Client.
 

DarkSwell

New member
תשובה..

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

J2EE

New member
מדובר גם בצ'אט וגם בשרותים נוספים

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

DarkSwell

New member
אני הייתי מציע לך לפשט את הדברים..

אם אתה צריך צ'אט, עשה אותו כאובייקט נפרד שמאזין לשרת נוסף בפורט אחר כך שיהיו לך שני שרתים אחד לצ'אט ואחד לדברים האחרים. בצורה כזו הכל יתנהל ויעבוד בצורה הרבה יותר טובה ופשוטה מה שיבטיח לך מערכות יציבות וגמישות לשינויים. Make the complicity simplicity
 

J2EE

New member
נניח בצד את הצ'אט...

מה שאתה אומר לי זה בעצם שהלקוח יפנה לשרת וזה יצור עבורו Thread ויחזיר לו תשובה ומיד יהרוג את ה Thread. הלקוח מקבל את תשובתו ורוצה לשלוח הודעה חדשה והשרת שוב יוצר Thread חדש עבורו. זה מזכיר connection pool ב sql ,כנגד שמירה על connecion פתוח כל הזמן. השאלה היא האם זה גם חכם לנהוג ככה בסוקטים...
 

Zack DA

New member
ה- Client לא צריך לחכות לשום דבר.

שה- GUI ישלח event ל- Thread שיופעל כדי לטפל בשליחת הנתונים לשרת. נראה לי עדיף על כל חלופה שהוצעה כאן.
 
למעלה