Lập trình mạng Python: giao thức UDP (phần 18)

Khi nào sử dụng UDP

Bạn có thể nghĩ rằng UDP sẽ hiệu quả cho gửi thông điệp nhỏ. Thực sự là, UDP là hiệu quả
chỉ nếu host của bạn gửi chỉ một thông điệp tại một thời điểm và sau đó chờ cho một trả
lời. Nếu ứng dụng của bạn có thể gửi một vài thông điệp trong một burst thì sử dụng
một intelligent message queue như ØMQ sẽ thực sự hiệu quả hơn vì nó sẽ thiết lập một timer
ngắn cái để nó nhúm một vài thông điệp nhỏ với nhau vào một truyền đơn, có thể trên một
kết nối TCP cái làm công việc tốt hơn nhiều chia tách payload thành các mảng hơn bạn sẽ.
Tuy nhiên, có một vài lí do tốt để sử dụng UDP:
+ Vì bạn đang thực hiện một giao thức cái đã tồn tại và nó sử dụng UDP.
+ Vì bạn đang thiết kế một media stream thời gian là quan trọng sự dư thừa của nó cho phép
đôi khi mất gói dữ liệu và bạn không bao giờ muốn dữ liệu của s này vội vàng chờ dữ liệu cũ
từ một vài s trước cái đã chưa được phân phát (như xảy ra với TCP)
+ Vì multicast subnet LAN không đáng tin cậy là một mô hình cực tốt cho ứng dụng của bạn và
UDP hỗ trợ nó hoàn hảo.

Chia sẻ