Hướng dẫn ngắn gọn về lập trình socket cho mạng máy tính TCP / IP

Lập trình socket kết nối máy chủ và máy khách

Lập trình socket là công nghệ cơ bản đằng sau truyền thông trên mạng TCP / IP . Ổ cắm là điểm cuối của liên kết hai chiều giữa hai chương trình đang chạy trên mạng. Ổ cắm cung cấp điểm cuối giao tiếp hai chiều để gửi và nhận dữ liệu với một ổ cắm khác. Các kết nối ổ cắm thường chạy giữa hai máy tính khác nhau trên mạng cục bộ ( LAN ) hoặc trên internet, nhưng chúng cũng có thể được sử dụng cho truyền thông liên tiến trình trên một máy tính.

Ổ cắm và địa chỉ

Các điểm cuối socket trên các mạng TCP / IP đều có một địa chỉ duy nhất là sự kết hợp của một địa chỉ IP và một số cổng TCP / IP. Vì socket được gắn với một số cổng cụ thể, lớp TCP có thể xác định ứng dụng sẽ nhận dữ liệu được gửi đến nó. Khi tạo một ổ cắm mới, thư viện socket sẽ tự động tạo một số cổng duy nhất trên thiết bị đó. Lập trình viên cũng có thể chỉ định số cổng trong các tình huống cụ thể.

Cách Sockets Server hoạt động như thế nào

Thông thường một máy chủ chạy trên một máy tính và có một socket được gắn với một cổng cụ thể. Máy chủ đợi một máy tính khác để thực hiện yêu cầu kết nối. Máy khách biết máy chủ của máy tính và số cổng mà máy chủ đang nghe. Máy khách xác định chính nó và — nếu mọi thứ diễn ra đúng, máy chủ cho phép máy khách kết nối.

Thư viện Socket

Thay vì mã trực tiếp vào các API socket mức thấp, các lập trình viên mạng thường sử dụng các thư viện socket. Hai thư viện socket thường được sử dụng là Berkeley Sockets cho các hệ thống Linux / Unix và WinSock cho các hệ thống Windows.

Một thư viện socket cung cấp một tập các hàm API tương tự như các lập trình viên sử dụng để làm việc với các tệp, chẳng hạn như open (), read (), write () và close ().