Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C คำนวณ Round Trip Time (RTT) ของเว็บไซต์

ได้รับ URL ของเว็บไซต์ ภารกิจคือคำนวณ Round Trip Time (RTT)

Round Trip Time (RTT) คือเวลาทั้งหมดที่ใช้ส่งสัญญาณ + เวลารับ acknowledgement กลับมา รวมถึง propagation time ระหว่างสองจุด

ผู้ใช้สามารถวัด RTT ได้โดยการ ping ไปยัง IP address

ปัจจัยที่ส่งผลต่อ RTT:

  • สื่อการส่ง (Transmission medium)
  • อุปกรณ์กลาง (Interface/Nodes)
  • จำนวนโหนดระหว่างต้นทาง-ปลายทาง
  • ปริมาณ traffic
  • ระยะทางทางกายภาพ
  • ลักษณะสื่อ (wireless, fiber optic, ฯลฯ)
  • จำนวน request

หน่วยทั่วไป: มิลลิวินาที (แสดงเป็นวินาทีในตัวอย่าง)

ตัวอย่าง

Input: www.tutorialspoint.com  Output: Time taken: 0.3676435947418213
Input: www.indiatoday.in       Output: Time taken: 0.4621298224721691

แนวทาง

  • รับ URL เข้ามา
  • จับเวลาก่อนส่ง request (t1)
  • ส่ง HTTP request
  • จับเวลาหลังรับ response (t2)
  • คำนวณ t2 - t1 = RTT

อัลกอริทึม (Python - ไม่ใช่ C)

Start
Step 1: import time, requests
Step 2: ฟังก์ชัน roundtriptime(url)
    t1 = time.time()
    req = requests.get(url)
    t2 = time.time()
    t = str(t2 - t1)
    พิมพ์ "Time taken: " + t
Step 3: url = "https://www.tutorialspoint.com"
Step 4: เรียก roundtriptime(url)
Stop

โค้ดตัวอย่าง (Python)

import time
import requests

def roundtriptime(url):
    t1 = time.time()
    req = requests.get(url)
    t2 = time.time()
    t = str(t2 - t1)
    print("Time taken:" + t)

url = "https://www.tutorialspoint.com"
roundtriptime(url)

ผลลัพธ์

Time taken:0.3676435947418213

หมายเหตุ: โค้ดตัวอย่างเป็นภาษา Python ไม่ใช่ C เนื่องจาก C ไม่มีไลบรารี HTTP ส่วนตัวในมาตรฐาน