C# – Lập trình Socket giao tiếp TCP client/server
Trang 1 trong tổng số 1 trang
C# – Lập trình Socket giao tiếp TCP client/server
Các lớp .Net cơ bản trong lập trình mạng
Các lớp này được cung cấp trong hai namespace System.Net và System.Net.Sockets. Hai namespace này chứa rất nhiều lớp dùng trong lập trình mạng, nhưng trong phạm vi bài viết ta chỉ quan tâm đến các lớp sau::
Kết nối Server-Client với TCP/IP
Khi được chạy, server cần được xác định rõ địa chỉ IP và sẽ “lắng nghe” trên một port cụ thể. Server sẽ nằm trong trạng thái này cho đến khi client gửi đến một yêu cầu kết nối. Sau khi được server chấp nhận, một connection sẽ hình thành cho phép server và client giao tiếp với nhau.
Cụ thể hơn, các bước tiến hành trên server và client mà ta cần thực hiện sử dụng giao thức TCP/IP trong C# (có thể chạy server và client trên cùng một máy):
Server:
1. Tạo một đối tượng System.Net.Sockets.TcpListener để bắt đầu “lắng nghe” trên một cổng cục bộ.
2. Đợi và chấp nhận kết nối từ client với phương thức AccepSocket(). Phương thức này trả về một đối tượng System.Net.Sockets.Socket dùng để gửi và nhận dữ liệu.
3. Thực hiện giao tiếp với client.
4. Đóng Socket.
Thông thường quy trình này sẽ được đặt trong một vòng lặp (lặp lại bước 2) để chấp nhận nhiều kết nối cùng lúc (sử dụng Thread) hoặc các kết nối lần lượt.
Client:
1. Tạo một đối tượng System.Net.Sockets.TcpClient
2. Kết nối đến server với địa chỉ và port xác định với phương thức TcpClient.Connect()
3. Lấy luồng (stream) giao tiếp bằng phương thức TcpClient.GetStream().
4. Thực hiện giao tiếp với server.
5. Đóng luồng và socket.
Các lớp này được cung cấp trong hai namespace System.Net và System.Net.Sockets. Hai namespace này chứa rất nhiều lớp dùng trong lập trình mạng, nhưng trong phạm vi bài viết ta chỉ quan tâm đến các lớp sau::
Kết nối Server-Client với TCP/IP
Khi được chạy, server cần được xác định rõ địa chỉ IP và sẽ “lắng nghe” trên một port cụ thể. Server sẽ nằm trong trạng thái này cho đến khi client gửi đến một yêu cầu kết nối. Sau khi được server chấp nhận, một connection sẽ hình thành cho phép server và client giao tiếp với nhau.
Cụ thể hơn, các bước tiến hành trên server và client mà ta cần thực hiện sử dụng giao thức TCP/IP trong C# (có thể chạy server và client trên cùng một máy):
Server:
1. Tạo một đối tượng System.Net.Sockets.TcpListener để bắt đầu “lắng nghe” trên một cổng cục bộ.
2. Đợi và chấp nhận kết nối từ client với phương thức AccepSocket(). Phương thức này trả về một đối tượng System.Net.Sockets.Socket dùng để gửi và nhận dữ liệu.
3. Thực hiện giao tiếp với client.
4. Đóng Socket.
Thông thường quy trình này sẽ được đặt trong một vòng lặp (lặp lại bước 2) để chấp nhận nhiều kết nối cùng lúc (sử dụng Thread) hoặc các kết nối lần lượt.
Client:
1. Tạo một đối tượng System.Net.Sockets.TcpClient
2. Kết nối đến server với địa chỉ và port xác định với phương thức TcpClient.Connect()
3. Lấy luồng (stream) giao tiếp bằng phương thức TcpClient.GetStream().
4. Thực hiện giao tiếp với server.
5. Đóng luồng và socket.
AnhDuong- Tổng số bài gửi : 8
Join date : 30/08/2011
Similar topics
» Thảo luận Bài 1
» Thảo luận Bài 4
» Tổ chức liên lạc giứa các tiến trình qua sockets trong hệ thống khách chủ (Communications in Client-Server). Phân biệt giao thức TCP với UDP:
» Lập trình Socket
» Tổ chức liên lạc giứa các tiến trình qua sockets trong hệ thống khách chủ (Communications in Client-Server). Phân biệt giao thức TCP với UDP:
» Thảo luận Bài 4
» Tổ chức liên lạc giứa các tiến trình qua sockets trong hệ thống khách chủ (Communications in Client-Server). Phân biệt giao thức TCP với UDP:
» Lập trình Socket
» Tổ chức liên lạc giứa các tiến trình qua sockets trong hệ thống khách chủ (Communications in Client-Server). Phân biệt giao thức TCP với UDP:
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết