CHAT LAN C#. Phần 1: Giao thức TCP và System.NET. Những thành phần côt yếu để xây dựng chương trình chat qua mạng LAN

Đăng bởi : 4/18/2014

thuvienwinform - C# hỗ trợ chúng ta lập trình mạng rất tốt, cụ thể là có thư viện System.Net. Qua đó chúng ta có thể xây dựng những ứng dụng hữu ích để gửi, nhận dữ liệu qua mạng. Một ví dụ điển hình cho việc lập trình mạng là chương trình gửi tin nhắn (chat) qua mạng LAN. Cũng đơn giản thui từ từ từng bước một là OK. Để xây dựng chương trình này trước hết chúng ta cần tìm hiểu về giao thức hoạt động để gửi/nhận dữ liệu TCP và System.NET

1. TCP

Wikipedia:
- TCP là giao thức cốt lõi của bộ giao thức TCP/IP. Sử dụng TCP, ử dụng TCP, các ứng dụng trên các máy chủ được nối mạng có thể tạo các "kết nối" với nhau, mà qua đó chúng có thể trao đổi dữ liệu hoặc các gói tin. Giao thức này đảm bảo chuyển giao dữ liệu tới nơi nhận một cách đáng tin cậy và đúng thứ tự. TCP còn phân biệt giữa dữ liệu của nhiều ứng dụng (chẳng hạn, dịch vụ Web và dịch vụ thư điện tử) đồng thời chạy trên cùng một máy chủ. Xem thêm...
- TCP hỗ trợ nhiều giao thức ứng dụng phổ biến trên Internet và các ứng dụng kết quả như www, thư điện tử,...
- TCP như kiểu 2 hay nhiều người nói chuyện với nhau. Một người  hỏi: "Mày có nghe rõ không" nếu thằng kia trả lời "Có" thì mới thực hiện trò chuyện. Vì vậy TCP đảm bào việc truyền dữ liệu

- Mỗi máy tính có một địa chỉ IP => phân biệt các máy qua địa chỉ IP. Mỗi chương trình trên máy có một cổng kết nối => phân biết các chương trình bằng cổng kết nối. => để gửi dữ liệu cho một chương trình trên máy tính cần có địa chỉ ip của máy và cổng của chương trình đó

- Ngoài TCP thì trong bộ giao thức TCP/IP còn có thêm giao thức UDP. Cái này nó truyền tín hiệu nhanh hơn TCP nhưng tín hiệu truyền đi lại được cho phép mất, không biết thèn kia có nhận được hay chưa. Bù lại thì nó truyền nhanh hơn. Như trong ví dụ 2 thằng nói truyện ở trên, với UDP thì không cần thằng kí trả lời có ta vẫn cứ nói, mặc kệ có nghe tao hay không :D. Giống như kiểu gửi email cho 1 thằng offline, không biết nó có nhận và đọc hay không

- Tài liệu về giao TCP và IP:  https://docs.google.com/document/d/1GR39aiMkP1giKa9Brppbc9loHB2YaQ5QjD0ZX_M2YLo/edit?hl=en

2. System.NET


- Để xây dựng chương trình chat qua mạng LAN ta cần sử dụng: IPEndPoint, Socket, TcpClient, IPAdress

Ở phần tiếp thuvienwinform sẽ mang đến project dành cho máy chủ trong chương trình chat qua mạng LAN.

19-5-2015:
Thực ra với C# có nhiều cách để xây dựng một ứng dụng truyền dữ liệu qua mạng kiểu này. Sử dụng socket là cái nền tảng sơ khai nhất, mình sẽ hướng dẫn một bài khác cũng về vấn đề truyền dữ liệu qua mạng này trên một công nghệ khác (WCF hoặc Remote) đơn giản hơn nhiều, các bạn theo dõi blog để nhận bài sớm nhất nhé!


{ 2 comments }

  1. System.NET có hỗ trợ chat qua internet không bạn . Mình có 1 server có ip tĩnh ?

    ReplyDelete
    Replies
    1. Anonymous6/10/2016

      mình nghĩ là có. cho máy cài IP tĩnh đó chạy chương trình server và các máy khách kết nối đến là được

      Delete

Nhận ngay 100$ cho VPS

Mua hàng ủng hộ page

Ủng hộ page

Nhãn

Code (45) Team Foundation Server (17) Database (14) News (14) product (13) toolbox (10) Linq (9) SoftDesign (8) XNA (6) API (5) Project (5) item (4)

- Bản quyền thuộc về Thư Viện WinForm - Giao diện: Metrominimalist - Thiết kế: Johanes Djogan -