161 TCP UDP SNMP
4.2.3. Khối phân tách và hiển thị dữ liệu
Theo thông tin thiết kế, mỗi một giây dữ liệu được gửi 10 gói thông tin, mỗi gói thông tin là 54 bytes. Mỗi gói đều giống nhau ở cấu trúc gói bao gồm những thành phần gì.Để tách và lọc thông tin cần thiết trong gói dữ liệu nhận được ta sử dụng các hàm sau.
- Hàm String to Byte Array dùng để chuyển đổi một chuỗi thành một mảng của kiểu unsigned byte. Mỗi byte trong mảng có giá trị ASCII của ký tự tương ứng trên chuỗi.
Hình 4.9: Hàm String to byte Array
Các thông số đầu vào, đầu ra của hàm được thiết lập như bảng 2.6
Thông số Mô tả
String Là chuỗi đầu vào mà hàm chuyển đổi
Unsigned byte array Là mảng đầu ra . Byte đầu tiên của mảng có giá trị ASCII của ký tự đầu tiên ở chuỗi, tương tự..
Bảng 4.5: Bảng các thông số vào ra của hàm String to byte Array
Hàm Array Subnet trả về một phần của mảng bắt đầu từ chỉ số index và chứa
length phần tử.
Hình 4.10: Hàm Array Subnet
Thông số Mô tả
Array Mảng đầu vào, có thể là một mảng n-chiều
Index Định nghĩa phần tử đầu tiên, hàng, cột, hoặc trang để bao gồm trong phần của mảng bạn muốn trả về. Nếu index nhỏ hơn 0, hàm mặc định nó giống như 0. Nếu index lớn hơn hoặc bằng kích thước mảng, hàm trả về 1 mảng rỗng Length Định nghĩa bao nhiêu phần tử, hàng, cột, hoặc trang để bao
gồm trong phần của mảng bạn muốn trả về. nếu chỉ số
index cộng length mà lớn hơn kích thước mảng, hàm trả
về duy nhất như nhiều dữ liệu có khả năng. Mặc định là chiều dài từ index đến cuối mảng
Subarray Mảng trả về
Bảng 4.6: Bảng các thông số vào ra của hàm Array Subnet
Hàm Insert array bê nguyên dữ liệu sau mỗi lần lặp vào mảng mới của nó. Như vậy sau mỗi lần ta tách dữ liệu từ 540bytes, sẽ làm sai khác dữ liệu ở đầu ra, do vậy sau mỗi lần lặp để lấy cắt dữ liệu, cần nghịch đảo vị trí dữ liệu thu được. Khắc phục bằng dùng hàm Reverse
Từ yêu cầu thiết kế và chức năng của hàm lưu trữ dữ liệu, khối phân tách dữ liệu được thiết kế như sau:
Hình 4.11: Thiết kế khối phân tách dữ liệu