2012-07-15 61 views
10

Tôi cần kiểm tra đơn đăng ký của mình trong các điều kiện mà ngay cả kết nối Internet 2G không nằm trong phạm vi phủ sóng đầy đủ của nó (tức là 2 thanh thay vì 4, 2G).Mô phỏng kết nối Internet chậm trên thiết bị REAL?

Tôi thích tiến hành các thử nghiệm này qua WiFi.

Có cách nào (lập trình hay cách khác) để thông báo cho hệ điều hành Android trên thiết bị thực để làm chậm hoặc tăng tốc kết nối Internet 56 Kbit/s?

Lưu ý: Tôi biết cách thực hiện this trên emulator. Tôi đang tìm cách để thực hiện điều này trên thiết bị thực.

Điều này có khả thi không?

+1

Kiểm tra cài đặt bộ định tuyến của bạn cho giới hạn băng thông; đôi khi có sẵn. – Ryan

+0

@minitech Cảm ơn. Bạn có thể tìm thấy bất kỳ ý tưởng nào về giới hạn băng thông (cho ** WiFi **) trên bộ định tuyến DD-WRT? – scatmoi

Trả lời

4

Trong một trong các nhận xét của bạn, bạn đã đề cập rằng bạn có bộ định tuyến DD-WRT, đây thực sự là một hộp Linux nhỏ. Vì vậy, bạn có thể nhận được một cách với lệnh tc:

tc qdisc add dev $DEV root handle 1: cbq avpkt 1000 bandwidth 10mbit 
tc class add dev $DEV parent 1: classid 1:1 cbq rate 512kbit allot 1500 prio 5 bounded isolated 
tc filter add dev $DEV parent 1: protocol ip prio 16 u32 match ip dst 195.96.96.97 flowid 1:1 
0

Loại tùy thuộc vào những gì bạn có ở phía thượng lưu. Nếu bạn đang truyền tải một số loại thử tải, hãy viết trình điều khiển ở đầu phía trên mà thực tế, làm chậm chính nó xuống - mặc dù sleep() là một lựa chọn tồi. Những gì bạn sẽ được viết về cơ bản là một chương trình thời gian thực khá khó khăn nếu bạn hy vọng sẽ nhận được bất cứ điều gì giống như một khối lượng công việc thực sự.

(Khi tôi nói "một người lái xe" btw, tôi không có nghĩa là nhất thiết là một thiết bị điều khiển, chỉ cần một số loại chương trình điều khiển.)

Nhưng được bạn thực sự cố gắng để mô phỏng một kết nối chậm, hoặc một kết nối suy thoái và ồn ào có tốc độ dữ liệu hiệu quả thấp?

+1

Bất kỳ mã nào ** bên trong ứng dụng sẽ được kiểm tra ** cố gắng mô phỏng các loại thất bại chậm chạp của mục đích (đã bao giờ nghe về nguyên tắc Heisenberg?). Đối với câu hỏi của bạn, lý tưởng tôi muốn để có thể mô phỏng cả một 'kết nối chậm' và một 'kết nối bị suy thoái và ồn ào' có tỷ lệ dữ liệu hiệu quả thấp. Nhưng bây giờ tôi sẵn sàng thỏa hiệp chỉ cho kết nối chậm. Bạn có biết một ứng dụng tải kết nối Internet tương tự như những gì 'CPU Burn-in' cho Windows không cho CPU? – scatmoi

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