Lập trình mạng: Xây dựng ứng dụng client – server hướng kết nối (TCP Socket)

0
657

Sau khi học xong phần lý thuyết chương 2. Chúng ta sẽ tiến hành xây dựng ứng dụng Client – Server dạng hướng kết nối (TCP Socket)

Các bước chính

  • Mô hình ứng dụng
  • Các thao tác phía server
  • Các thao tác phía client
  • Quá trình truyền nhận dữ liệu
  • Đóng kết nối

Mô hình ứng dụng

13816804_10202038598203019_1108203146_n

Các thao tác phía server

– Tạo ra một Sockets

– Gắn Sockets đó với một địa chỉ cụ thể (binding)

– Lắng nghe kết nối tới

Sau khi socket đã được gắn với một địa chỉ cụ thể, sử dụng phương thức Listen() để đặt socket ở trạng thái lắng nghe kết nối từ Client tới.

– Chấp nhận kết nối

Sau khi gọi phương thức Listen(), Socket của ta đã sẵn sàng chấp nhận kết nối từ Client.

Gọi hàm Accept() để chấp nhận các kết nối từ Client.

Hàm Accept() sẽ trả lại một đối tượng socket mới được sử dụng cho quá trình truyền và nhận dữ liệu sau này.

Các thao tác phía client 

– Tạo ra một Sockets

Bạn có thể thay tên server thành client để dễ nhận biết.

– Kết nối đến Server

Quá trình truyền và nhận dữ liệu

Sau khi Client kết nối đến Server và đã được chấp nhận, Client và Server có thể bắt đầu quá trình truyền và nhận dữ liệu

Sử dụng hàm Send() và Receive() để thực hiện các công việc này.

Đóng kết nối

Sau khi quá trình truyền và nhận dữ liệu kết thúc, Socket cần phải được đóng lại.

Ta có thể sử dụng hàm Shutdown() để tạm dùng phiên làm việc và dùng hàm Close() để đóng phiên làm việc đó.

Trên đây là các bước để tạo ra một server là client đơn giản để giao tiếp. Để làm rõ hơn chúng ta sẽ đi đến một ví dụ là khi server và client kết nối được với nhau thì client sẽ gửi một thông điệp và server sẽ phản hồi lại thông điệp đó. Ở đây sẽ lấy ví dụ là client sẽ nhập tên người sử dụng và phía server sẽ gửi lại thông điệp là chào lại người sử dụng đúng với tên người sử dụng đã nhập..

Code phía server

Code phía client

Kết quả:

1

2

3

5

Bài viết trên đây nhằm giới thiệu đến các bạn các bước cơ bản để tạo ra một server và một client để có thể giao tiếp một cách đơn giản nhất. Hẹn gặp lại các bạn ở các bài viết sau. Chúc các bạn thành công.

LEAVE A REPLY