Nếu bạn thực sự cần biết, bạn sẽ phải thử nghiệm.
Thiết lập kết nối với máy chủ đã biết có độ trễ thấp. Trong một chủ đề riêng biệt, đánh dấu thời gian (Thời gian A) và gửi một gói (đảm bảo rằng nó là một gói). Đợi trên sợi chỉ đó. Đánh dấu thời gian của gói tin đầu tiên (Thời gian B). Đọc dữ liệu cho đến khi hoàn thành. Đánh dấu thời gian của gói tin cuối cùng (Thời gian C). Đảm bảo rằng phản hồi của máy chủ kéo dài ít nhất ba gói.
Thời gian B - Thời gian A là ước tính sơ bộ về độ trễ. Thời gian C - Thời gian B là một ước tính sơ bộ về băng thông.
Vì bạn muốn chính xác nhất có thể, hãy sử dụng mức truy cập mạng thấp nhất bạn có sẵn (tôi tin rằng trên iPhone đây là ổ cắm). Sử dụng các khối dữ liệu ngẫu nhiên có độ dài cố định theo cả yêu cầu và phản hồi của bạn. Một vài byte cho yêu cầu là đủ, nhưng đáp ứng cần phải được xây dựng tốt. Đảm bảo máy chủ gửi gói nhỏ đầu tiên, sau đó một chuỗi các gói đủ lớn để điền vào ba hoặc nhiều hơn.
Tại thời điểm đó, bạn sẽ cần phải kiểm tra. Kiểm tra, kiểm tra, kiểm tra và thử nghiệm. Thử nghiệm trên các loại mạng khác nhau, kiểm tra với số lượng lưu lượng mạng khác nhau, kiểm tra với mạng chuyển đổi và kiểm tra bất kỳ điều gì khác mà bạn có thể nghĩ đến.
Nguồn
2012-05-23 11:56:23
Không trùng lặp! –
@gunjotsingh câu trả lời cho câu hỏi ban đầu thực sự là ở đây: https://stackoverflow.com/a/34333204/751932 Mặc dù câu hỏi về tốc độ kết nối được đánh dấu là trùng lặp cho ... – Speakus