הממממ....?

Zeliran

New member
הממממ....?

אני חושב לבנות מאין תוכנית "instant messages" כגון icq, messanger וכו'... בעיקרון המבנה של התוכנות הללו הו שיש תוכנית למשתמש הקצה ושרת, אז השאלה שלי היא מה הם בגדול תפקידו של השרת? כלומר, כאשר משתמש מתחבר אליו, אז השרת מחזיק את רשימת כל המשתמשים המחוברים וה IP שלהם? אם כן אז באיזה צורה הכי כדאי להחזיק את המידע הזה? ומה בנוגע לתפקידים נוספים שיש לו? תודה.
 

vinney

Well-known member
לא בהכרח

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

DNile

New member
עקרונית -

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

Zeliran

New member
.....

ציינת שבגלל שכתובת ה IP אינה קבועה, אז היא צריכה להשמר אצל השרת, אבל בעצם איך השרת ידע מהי כתובת ה IP של המשתמש? כלומר, כשהוא מתחבר הוא יכול לשלוח אל השרת מהיא הכתובת שלו, אבל כמו שאמרת, היא משתנה, אז איך הוא יוכל לדעת אותה?
 

DNile

New member
כל פעם שהמשתמש מתחבר,

הוא מקבל IP חדש, והוא מעדכן את השרת בIP הנוכחי שלו. כשהוא מתנתק - הIP מורד מהרשימה, והמשתמש חוזר לסטטוס של "offline".
 

Zack DA

New member
הנושא הזה של התחזות,

יכול עקרונית גם להפתר בין המשתמשים ע"י אותנטיקציה פשוטה. השאלה היא כמובן האם זה רעיון טוב.
 

DNile

New member
אכן, הוא יכול להפתר,

ואני לא מתכוון להכנס עכשיו לכל מיני פרוטוקולים קריפטוגרפיים למיניהם, PKI, kerberos, etc... מה שכן, קשה מאוד לנהל מערכת אבטחה מתאימה כאן, ללא trusted 3rd party, שבמקרה הזה, זה השרת שלך.
 

Zack DA

New member
קשה, אין ספק.

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