לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 20-12-2008, 21:29
  משתמש זכר dorM dorM אינו מחובר  
מנהל
 
חבר מתאריך: 26.07.08
הודעות: 6,473
[תיכנות+רשתות] מתי יוצא המידע בתקשורת בין מחשבים מרוחקים

נניח 2 מחשבים מתקשרים ביניהם, בדומה למשתמש קצה ואתר אינטרנט.

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

ישנם מקרים שבהם הפלט נשלח בסוף ריצת סקריפט צד-השרת, וישנם מקרים בהם הפלט נשלח טיפין-טיפין (כל פעם מתבצע print של מספר תוים \ מחרוזת. גודל המחרוזת משתנה).

אתן דוגמא מ-PHP (מצטער שאני כל הזמן חוזר אליה, זו שפת צד-השרת שאני הכי משתמש בה):

(הפקודה echo ו-print מבצעות את אותו הדבר - שליחת פלט)
קוד PHP:
 echo '<html>';
/* another code here */
echo '<table>...';
/* another code here */
echo '</table></html>'


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

לכן אני מניח שיש איזה מנגנון שפועל איפשהו (בין אם זה במנוע ה-PHP, או מערכת ההפעלה של השרת וכד') שמונע יציאה של תוים בודדים, ומחכה עד שכל המידע יהיה בגודל של frame data (מ-46 עד 1500 בתים).

האם ההנחה שלי נכונה?
או שבעצם אפילו תוים בודדים נשלחים בפקודת echo אחת למשתמש הקצה, וכל פקודת echo מכילה למעשה את ה- frame data שמבוצע עליו פרגמנטציה ונשלח החוצה למשתמש קצה?

אשמח להבהרות.

תודה רבה,
דור.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #6  
ישן 25-12-2008, 16:02
  שימיadmin שימי אינו מחובר  
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
 
חבר מתאריך: 25.10.01
הודעות: 42,775
בתגובה להודעה מספר 1 שנכתבה על ידי dorM שמתחילה ב "[תיכנות+רשתות] מתי יוצא המידע בתקשורת בין מחשבים מרוחקים"

זה תלוי בהרבה מאוד פרמטרים, אין תשובה כללית לזה.

אם אתה מחפש פתרון שבו PHP תאגור בכוח מידע עד שאתה מגיע לכמות מידע מסויימת, ואז תשחרר אותו בכל פעם (וכמובן - שחרור סופי של המידע שנותר בסוף הריצה) - יש פתרון כזה - פונקציות ה Output Buffering של PHP. בפונקציה שמפעילה את ה output buffering, הלא היא ob_start, אתה יכול להגדיר כפרמטר את ה chunk size - שקובע אחרי כמה בתים, במהלך ה output buffering, באופן אוטומטי, ישוחרר chunk של מידע לדפדפן. למידע נוסף קרא את דף המידע של הפונקציה...
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
נמאס לכם לזכור סיסמאות? לחצו כאן!

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 21:23

הדף נוצר ב 0.04 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר