2012-05-23 34 views
9

thể trùng lặp:
Iphone detect 3g or wifiiOS Phát hiện tốc độ kết nối hoặc loại

là có một cách để có được tốc độ mạng hiện tại hoặc nếu thiết bị là trên EDGE/3G/GPRS? Tôi có thể sử dụng Khả năng hiển thị để phân biệt WiFI với WMAN nhưng điều đó không đủ cho ứng dụng của tôi.

+1

Không trùng lặp! –

+0

@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

Trả lời

11

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.

+1

phương pháp tiếp cận kỹ thuật thú vị này. Vì vậy, bất kể WIFI hoặc 3G vv ... Điều này sẽ cung cấp cho một số ước tính ballpark của băng thông có sẵn. Tôi đã tìm kiếm một giải pháp như thế này để tôi có thể quyết định một cách hợp lý để kéo hình ảnh lớn hoặc nhỏ hơn trên mạng. Những cái nhỏ hơn được ưu tiên cho kịch bản băng thông thấp hơn – jcpennypincher

Các vấn đề liên quan