Mã hóa dữ liệu

Một phần của tài liệu LẬP TRÌNH MẠNG NGHỀ: QUẢN TRỊ MẠNG MÁY TÍNH (Trang 26 - 30)

2. Streams

2.1. Mã hóa dữ liệu

Streams (Luồng dữ liệu) là sự trừu tượng hóa phương thức truyền dữ

liệu (đọc, ghi) , đối với mỗi loại thiết bị khác nhau và trên các môi trường khác nhau thì sử dụng các loại stream khác nhau để đọc ghi dữ liệu.

Có hai loại Stream quan trọng: NetworkStream và FileStream

Network Stream: Được sử dụng để đọc dữ liệu trên mạng

Có hai cách để sử dụng Stream là “dùng stream đồng bộ” và dùng “stream bất

đồng bộ”. Trong cách dùng đồng bộ thì các luồn (thread) tương ứng của chương

trình sẽ tạm ngưng đến khi ứng dụng hoàn thành việc đọc dữ liệu hoặc có lỗi xảy ra.

Trong cách dùng không đồng bộ thì, các thread sẽ vẫn chạy song song với quá trình truyền dữ liệu, và khi quá trình truyền dữ liệu hoàn tất hay có lỗi xảy ra thì đều có trạng thái tương ứng được trả về.

Ví dụ sử dụng Stream để đọc tập tin: Khởi tạo một đồ án .NET mới và thêm vào:

- Một Form đặt tên là FormIO

- Một File Open Dialog Control với tên là openFileDialog

- Một TextBox với tên là tbResults, chọn thuộc tính Multiline = true

- Hai Button vói tên gọi là btnReadAsync và btnReadSync (btnReadAsync sẽ thực hiện chức năng đọc tập tin theo cơ chế không đồng bộ, btnReadSync sẽ thực hiện chức năng đọc tập tin theo cơ chế đồng bộ)

Khai báo thêm Namespace chứa các lớp Stream

Khai báo các biến sử dụng trong chương trình:

Viết code xử lý cho sự kiện click của Button readAsync

Viết code xử lý cho phương thức fs_StateChanged

Viết code xử lý cho nút lệnh readSync để đọc tập tin theo cơ chế đồng bộ:

Vì đọc dữ liệu đồng bộ nên nó sẽ làm dừng toàn bộ hoạt động của biểu mẫu trong

khi đọc, vì vậy để khắc phục tính trạng này, có thể sử dụng Thread riêng để đọc. Khi sử dụng Thread thì phải khai báo thêm namespace Threading :

Phần code cho sự kiện click của btnReadSync

Một phần của tài liệu LẬP TRÌNH MẠNG NGHỀ: QUẢN TRỊ MẠNG MÁY TÍNH (Trang 26 - 30)