בדיקת אובדן חבילות

טֶכנוֹלוֹגִיָה

ברמה הבסיסית, כאשר אתה מתחבר, הוא מוריד את דף האינטרנט ב-HTTPS, האתר והשרת ואז יוצרים חיבור WebSockets, ואז האתר והשרת משתמשים בשרת STUN חיצוני כדי לנהל משא ומתן על חיבור WebRTC. לאחר מכן, האתר מקים ערוץ נתונים לא אמין באמצעות WebRTC ושולח חבורה של מנות לשרת, שמתעד אותן ואז שולח אותן מיד בחזרה. לאחר מכן, הלקוח רושם את זמני הפינג ואיזה הוא קיבל בחזרה. השרת גם שולח יומן דרך WebSockets שמהם הרכיבו מנות, כך שתוכלו לדעת אובדן מנות להעלאה לעומת אובדן מנות הורדה.

שירותים בשימוש

אז באשר לטכנולוגיות והשירותים הספציפיים שבהם נעשה שימוש:

  • אישור ה-SSL מסופק על ידי Let's Encrypt .
  • אתר ה-HTTPS הסטטי מתארח ב- Netlify , אשר מושך מ- GitHub .
  • שרת WebSocket ו-WebRTC מתארח עם Linode .
  • שרת WebSocket ו-WebRTC זה מריץ את Node.js כתוכנת השרת.
  • Node.js מריץ את uWebSockets.js , שבתורו מריץ את uWebSockets (שהיותו C++, הוא הרבה יותר מהיר ממה ש-JavaScript יכול להיות אי פעם).
  • לאחר מכן השרת משתמש ב-wrtc כדי ליישם WebRTC ב-Node.js. (מכיוון שהוא לא מיישם את זה. WebRTC אינו למעשה JavaScript, אלא רק API של JavaScript ב-WebIDL.)
  • אני משתמש בשרת STUN הציבורי החינמי של גוגל (stun.l.google.com:19302) כדי ליצור את חיבור ה-ICE.
  • Chart.js מציג את תרשים העמודות בתחתית התוצאות.
  • הכל הוא בעצם רק HTML, CSS, JS ו-Bash בקוד ידני. אני כן משתמש ב-Mostache ( ב-JavaScript ) בצד השרת כדי לעצב את הדפים כך שיהיה קל יותר לתרגם אותם (עם תצוגות) וכדי לשנות את החלקים הנפוצים (עם חלקים).
  • כמו כן, לתרגום, השתמשתי במידה רבה (אבל לא לגמרי!) ב-Google Translate. >.>