הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   דיון | מערכת צאט PHP + AJAX בשאלת היעילות. (https://hosts.co.il/forums/showthread.php?t=80836)

hi_sorie 22-01-10 18:50

דיון | מערכת צאט PHP + AJAX בשאלת היעילות.
 
היי,

לא מזמן בניתי צאט עם AJAX ורציתי לפתוח דיון אודות היעילות של האלגוריתם.

המערכת עובדת לפי האיפיון הבא :

חלון צאט מתקבל בין 2 משתמשים ( ID1 ID2 ).

כל שניה נשלח בקשה לשרת ב AJAX שבו מתבצעת הבדיקה : האם יש הודעה חדשה במסד ( לפי ערך של 0 או 1 בין הודעות המשתשמים ) במידה וכן עדכן DIV מסויים בערך החדש ולא אל תבצע כלום.

משתמש כותב הודעה -> נשלח בקשה לשרת -> עידכון מסד נתונים עבור ההודעה האחרונה עם הערך 0.

האם יש דרך אחרת יעילה יותר מבחינת תעבורת שרת לבצע את האפליקציה ?

Shay Ben Moshe 22-01-10 19:09

מבחינת תעבורה אתה יכול להשתמש בComet, שזה פשוט בקשת ajax שלא נגמרת אף פעם וכל פעם מתעדכנת. ההבדלים לא יהיו גדולים במיוחד.
מה שכן אם הבנתי נכון אתה שולח בקשה לבדוק אם השתנה אם כן אתה שולח עוד בקשה לבדוק מה חדש, במקום זה אתה יכול לשלוח בקשה ולקבל את כל ההודעות החדשות. אם אין אז אין.... בבקשה אתה יכול לשלוח את הID של ההודעה האחרונה שקיבלת, וככה תוכל לפי ID לשלוף את מה שצריך..
לגבי שליחת הודעה לא הבנתי מה הכוונה עבור ההודעה האחרונה עם הערך 0.

hi_sorie 22-01-10 19:40

הערך 0 מתיחס למקבל ההודעה ומורה על כך שהיא לא נקראה.

אני ישמח אם תשלח לי פרטים על Comet כי אין לי מושג במה מדובר.

Shay Ben Moshe 22-01-10 20:13

http://en.wikipedia.org/wiki/Comet_%28programming%29

daMn 22-01-10 20:35

לא עובדים ככה,
חפש חומר על long polling, אני חושב שfacebook עובדים ככה.

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

Shay Ben Moshe 22-01-10 23:27

daMn זה בדיוק מה שאמרתי, אם אתה מחפש "long polling" בגוגל התוצאה השנייה זה Comet... הראשונה זה משהו יותר כללי.


כל הזמנים הם GMT +2. הזמן כעת הוא 15:43.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ