ใช้ความแตกต่าง
1. TCP เป็นแบบเน้นการเชื่อมต่อ ในขณะที่ UDP ไม่มีการเชื่อมต่อ
นั่นคือไม่จำเป็นต้องสร้างการเชื่อมต่อก่อนที่จะส่งข้อมูล
TCP ให้บริการที่เชื่อถือได้ กล่าวอีกนัยหนึ่ง ข้อมูลที่ส่งผ่านการเชื่อมต่อ TCP นั้นปราศจากข้อผิดพลาด ไม่สูญหาย ไม่เกิดซ้ำ และมาถึงตามลำดับ UDP พยายามทุกวิถีทางในการส่งมอบ แต่ไม่รับประกันการส่งมอบที่เชื่อถือได้
TCP เป็นแบบไบต์สตรีม ที่จริงแล้ว TCP ถือว่าข้อมูลเป็นชุดของสตรีมไบต์ที่ไม่มีโครงสร้าง
UDP ไม่มีการควบคุมความแออัด ดังนั้นความแออัดของเครือข่ายจะไม่ลดอัตราการส่งของโฮสต์ต้นทาง (มีประโยชน์สำหรับแอปพลิเคชันแบบเรียลไทม์ เช่น ระบบโทรศัพท์ IP การประชุมทางวิดีโอแบบเรียลไทม์ ฯลฯ)
การเชื่อมต่อ TCP แต่ละรายการสามารถเป็นแบบจุดต่อจุดเท่านั้น UDP รองรับการสื่อสารแบบโต้ตอบแบบหนึ่งต่อหนึ่ง หนึ่งต่อกลุ่ม หลายต่อหนึ่ง และหลายต่อหลายการสื่อสาร
โอเวอร์เฮดส่วนหัว TCP คือ 20 ไบต์ และโอเวอร์เฮดส่วนหัว UDP มีขนาดเล็กเพียง 8 ไบต์
ช่องทางการสื่อสารแบบลอจิคัลของ TCP เป็นช่องทางที่เชื่อถือได้แบบฟูลดูเพล็กซ์ ในขณะที่ UDP เป็นช่องทางที่ไม่น่าเชื่อถือ
สถานการณ์การใช้งานที่แตกต่างกัน
2. TCP ถูกใช้เมื่อจำเป็นต้องมีการส่งข้อมูลที่เชื่อถือได้ที่ชั้นการขนส่ง UDP ส่วนใหญ่จะใช้สำหรับการสื่อสารหรือการออกอากาศที่มีความต้องการสูงสำหรับการส่งข้อมูลความเร็วสูงและประสิทธิภาพแบบเรียลไทม์
ยกตัวอย่างการโทรผ่านระบบโทรศัพท์ IP หากใช้ TCP ข้อมูลจะถูกส่งอีกครั้งหากสูญหายระหว่างการส่งสัญญาณ ซึ่งจะส่งผลให้ไม่สามารถส่งสัญญาณเสียงของผู้โทรได้อย่างราบรื่น ด้วย UDP จะไม่ทำการประมวลผลการส่งสัญญาณซ้ำ ดังนั้นจึงไม่มีปัญหาเรื่องความล่าช้าอย่างมากในการมาถึงของเสียง แม้ว่าข้อมูลบางส่วนจะสูญหาย แต่จะส่งผลต่อการโทรเพียงส่วนเล็กๆ เท่านั้น
ข้างต้นคือความแตกต่างระหว่าง TCP และ UDP ใน php ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน