ได้รับ 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 ส่วนตัวในมาตรฐาน