Sử dụng C# Stream với TCP Socket( Phần 2)

0
232

Như đã đề cập ở bài viết trước điều khiển thông điệp dùng giao thức TCP thường gây ra khó khăn cho các lập trình viên nên .NET Framework cung cấp một số lớp để giảm gánh nặng lập trình. Một trong những lớp đó là NetworkStream, và hôm nay chúng ta sẽ tiếp tục hai lớp  TCP là StreamWriter và StreamReader

Namespcace System.IO chứa hai lớp StreamReader và StreamWriter điều khiển việc đọc và ghi các thông điệp text từ mạng. Cả hai lớp đều có thể được triển khai với một đối tượng NetworkStream để xác định các hệ thống đánh dấu cho các thông điệp TCP.

Lớp StreamReader có nhiều phương thức tạo lập, trong đó phương thức tạo lập đơn giản nhất của lớp StreamReader:

Biến stream có thể được tham chiếu đến bất kỳ kiểu đối tượng Stream nào kể cả đối tượng NetworkStream. Có nhiều phương thức và thuộc tính có thể được dùng với đối tượng StreamReader sau khi nó được ra như: Close(), CreateObjRef(), DiscardBufferedData(), Equals(), GetHashCode(), GetLifetimeService()….

Tương tự đối tượng StreamReader, đối tượng StreamWriter có thể được tạo ra từ một đối tượng NetworkStream:

StreamWriter cũng có nhiều phương thức và thuộc tính kết hợp với nó, một số phương  thức  và  thuộc  tính  của  lớp  StreamReader  cũng  có  trong   đối  tượng StreamWriter, ngoài ra nó còn có một số phương thức và thuộc tính riêng như: Flush(), Write(), WriteLine().

Phương thức ReadLine() là phương thức hay nhất của lớp StreamReader. Nó đọc các ký tự từ stream cho tới khi nó gặp ký tự xuống dòng. Tính năng này cho phép sử dụng ký tự xuống dòng như là một ký tự phân tách các thông điệp. Phương thức WriteLine() của lớp StreamWriter sẽ so khớp với phương thức ReadLine của lớp StreamReader do đó việc xử lý các thông điệp TCP trở nên dễ dàng hơn.

Ví dụ về chương trình CLient- Server đơn giản sử dụng C# Stream 

Chương trình Stream TCP Server

Chương trình Stream TCP Client 

Đến đây xem như đã giới thiệu và giải quyết hầu hết các vấn đề của lập trình TCP Client Server. Ở các bài viết tiếp theo sẽ giới thiệu đến các bạn Lập trình Socket phi kết nối  hay còn gọi là UDP. Hẹn gặp lại các bạn, chúc các bạn thành công.

LEAVE A REPLY