יש לי מצב כזה , שני מחשבים מחוברים בינהם בעזרת Winsock , ה-PING בינהם לא קבוע (50-300). למישהו יש רעיון איך אפשר להפעיל תהליך כלשהו בשני המחשבים בהפרש זמנים כמה שיותר קטן ?
תיתן לך מידע די מדוייק (מאית שנייה) לגבי ה-DELAY...
זה לא שה-PING משתנה בצורה כ"כ משמעותי מפעם לפעם, אם תריץ נגיד 5 פעמים, תוריד את הערך הגבוה ביותר ואת הערך הנמוך ביותר, ול-3 הנותרים, תעשה ממוצע. תקבל לדעתי משהו שיסנכרן יופי את העסק...
האם זמן התנועה של חבילה פחות או יותר סימטרי בשני הכיוונים? אם כן, היוזם שולח חבילה הצד השני יקבל אותהיחזיר תשובה, יחכה X זמן ויריץ התהליך, היוזם יחכה X זמן פחות מחצית הזמן שעבר בין שליחת החבילה לקבלתה. זה עשוי לעזור. X צריך להיות חסם עליון על הPING time למשל שניה.
אם זמן התנועה לא סימטרי אפשר לנסות ללמוד את האסימטריה.
אבל גם כאן , איך אני יוכל לגלות מה מהירות שליחת ההודעה ? יש לי מצב של Ping=X+Y כאשר X זה מהירות שליחת ההודעה ממחשב אחד לשני , ו Y זה מהירות השליחה חזרה . כלומר משוועה עם שתי נעלמים.
כאשר רוצים לגלות PING עושים דבר כזה : מחשב א' רושם את השעה כששלך הודעה, והשעה כשקיבל מענה וההפרש בין השעות הוא ה PING .
לכן הפינג הוא סכום של 2 זמנים : 1.זמן שליחת ההודעה ממחשב א' למחשב ב' (קראתי לו זמן X ) 2.זמן שליחת הודעה ממחשב ב' למחשב א כמענה להודעה הראשונה ( זמן Y )
ולא בthroughput שהקשר ביניהם מאוד רופף, לרוב שכמדברים על מהירות של קווי תקשורת שונים ומשווים גם upstream ו downstream מדברים על throughput דווקא.
לעניות דעתי הlatency יושפע מאוד דווקא מהמיקום של שני המחשבים בעולם וכמה ואילו routers החבילה עוברת דרך, ופחות מאיזה חיבור יש בינך לבין ספקית האינטרנט אם כי גם מזה.