Tôi có một ứng dụng bao gồm nhiều hệ thống sử dụng máy khách UDP ở các địa điểm từ xa. Tất cả các máy khách gửi gói UDP đến một vị trí trung tâm để xử lý. Trong ứng dụng của tôi, điều quan trọng là vị trí trung tâm phải biết thời gian gói tin được gửi bởi vị trí từ xa.Tiềm năng trì hoãn UDP
Từ quan điểm thiết kế, có thể cho rằng vị trí trung tâm có thể đặt dấu thời gian cho các gói khi chúng đến và sử dụng nó làm "thời gian gửi" không? Kể từ khi ứng dụng sử dụng UDP, các gói tin sẽ đến ngay lập tức hoặc không đến được tất cả? Tùy chọn khác sẽ là thiết lập một số loại đồng bộ hóa thời gian trên mỗi vị trí từ xa. Bất lợi cho điều này là sau đó tôi sẽ cần phải liên tục đảm bảo rằng thời gian đồng bộ đang làm việc trên mỗi hàng trăm tiềm năng của các địa điểm từ xa.
Câu hỏi của tôi là liệu timestamping các gói UDP ở vị trí trung tâm để xác định "thời gian gửi" là một lỗ hổng tiềm năng. Có thể gặp bất kỳ sự chậm trễ nào với UDP không?
Bạn cần nó chính xác đến mức nào? Xuống đến phút? Thứ hai? Mili giây? –
Xuống hạng hai. – Mike
Tôi không biết gì về lập trình mạng vì vậy tôi chỉ ném nó ra ngoài như một tùy chọn, nhưng tôi tự hỏi liệu bạn có thể giả định có sự chậm trễ và dễ dàng bù đắp cho nó? Điều gì đó giống như quy trình bắt tay ... vì vậy khi một khách hàng từ xa kết nối với vị trí trung tâm, nó được ping có thể là 1000 lần và bạn giữ từ điển? Tôi chắc chắn nó không phải là một giải pháp tuyệt vời nhưng nó chắc chắn có vẻ tốt hơn so với giả định không có sự chậm trễ. –
NickHalden