Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Lập trình Web & Backend] Frame: payload length mở rộng

    Frame: payload length mở rộng

    Giải mã payload length đầy đủ của WebSocket frame. Byte 2 cho len7 = byte2 & 0x7F:

    • Nếu len7 < 126: độ dài payload = len7.
    • Nếu len7 == 126: 2 byte tiếp theo là độ dài (big-endian, 16-bit).
    • Nếu len7 == 127: 8 byte tiếp theo là độ dài (big-endian, 64-bit; giả định ≤ 2^53).

    Input là một dòng các byte (số 0..255) của frame, bắt đầu từ byte thứ 2 (đã bỏ byte 1). In độ dài payload (số thập phân).

    Ví dụ

    Input:
    254 1 0
    
    Output:
    256
    

    254 = 1111 1110 -> MASK=1, len7=126 -> đọc 2 byte tiếp 1,0 = 0x0100 = 256.

    • Định dạng đầu vào:

      Một dòng các byte (số 0..255), byte đầu là byte-2 của frame.

    • Ràng buộc đầu vào:

      Dữ liệu đủ byte cho trường length; độ dài ≤ 2^53-1.

    • Định dạng đầu ra:

      Một số nguyên: độ dài payload.

    Ví dụ:

    Đầu vào:

    254 1 0
    

    Đầu ra:

    256

    Giải thích:

    len7=126 -> 2 byte tiếp 0x0100 = 256.

    Đang tải editor...