• Chủ Nhật, 18/04/2010 10:00 (GMT+7)

    Đo băng thông với JavaScript

    Hồng Vy
    Các website thường đo băng thông kết nối internet của người dùng để từ đó quyết định dạng hiển thị hay lượng nội dung cung cấp.

    Trao đổi với chuyên mục “Làm thế nào”, lập trình viên Nguyễn Đức Minh (MinhKiller) cho biết, các ảnh có kích thước lớn (như tiêu đề, banner quảng cáo) trong một trang web thường "ngốn" nhiều băng thông khi được người dùng tải về. Do đó, khi cung cấp thông tin cho người dùng băng thông thấp (low bandwidth) như GPRS, kết nối internet dạng quay số (dail up) và cả kết nối 3G trên mạng di động; cũng như khi muốn xác định băng thông thực của kết nối băng thông rộng (như ADSL) mà người dùng đang sử dụng, các website thường thực hiện một phép đo băng thông đơn giản. Từ kết quả thu được, website quyết định cắt giảm lượng nội dung cần cung cấp cho trình duyệt của thiết bị (như máy tính, điện thoại,…) để tăng tốc độ tải về cũng như hiển thị. Một số lập trình viên cho rằng, việc giảm kích thước ảnh xuống sẽ giúp băng thông và tốc độ hiển thị được tăng lên rõ rệt và dễ nhận thấy sự khác biệt so với trước đó.

    Bài viết sẽ trình bày phương pháp dùng JavaScript để đo băng thông kết nối Internet được đăng trên trang web cá nhân KlausKomenda.com. Ví dụ mà KlausKomenda đưa ra sử dụng tác vụ tải về một ảnh có dung lượng chỉ 10kB và sau đó đếm thời gian hoàn tất tác vụ tải về này. Với thời gian tải về vừa đo được, chúng ta dễ dàng xác định được tốc độ tải về trung bình hay nói rõ hơn là băng thông thực của kết nối Internet mà người dùng đang sử dụng.

    Để tham khảo chi tiết đoạn mã lập trình cho tác vụ này, bạn mở trình duyệt và gõ vào địa chỉ http://www.klauskomenda.com/wp-content/uploads/2008/04/bandwidthr.html. Ngay khi mở trang web, bạn phải đợi trong vài "tíc tắc" và ngay lập tức một thông báo tốc độ kết nối sẽ xuất hiện. Để xem mã nguồn, bạn nhấn phải chuột lên phần thông ở chính giữa trang web đang hiển thị và chọn View Source. Với kiến thức lập trình của mình, đảm bảo rằng bạn sẽ học được khá nhiều giải thuật thú vị tại đây.

    Ngoài ra, bạn có thể tham khảo các giải thích cụ thể hơn cho phép đo băng thông này tại địa chỉ http://www.klauskomenda.com/archives/2008/04/16/measuring-bandwidth-with-javascript/. Nếu biết được thủ thuật nào tương tự và thậm chí hay hơn, đừng ngần ngại chia sẻ với chúng tôi và nhiều bạn đọc khác tại trang Cộng Đồng của Thế Giới Vi Tính - www.pcworld.com.vn/forum.

    Hồng Vy

    Từ khóa: Hồng Vy
    ID: A1003_100