Skip to content

Latest commit

 

History

History
44 lines (41 loc) · 1.89 KB

File metadata and controls

44 lines (41 loc) · 1.89 KB

5 chi tiết nền tảng phải biết của lập trình socket trong ngôn ngữ C

  1. Tạo một mô tả socket bằng hàm socket
  2. Liên kết socket bằng hàm bind
  3. Lắng nghe bằng hàm listen
  4. Chấp nhận một yêu cầu kết nối bằng hàm accept
  5. Thiết lập một kết nối bằng hàm connect

  • Linux không coi socket là một file thông thường, nhưng Linux cung cấp một giao diện I/O thống nhất thông qua file descriptor để lập trình viên có thể thao tác với file, socket, pipe, terminal... theo cách tương tự nhau. Đây chính là triết lý nổi tiếng của Unix: "Everything is a file".
  • Địa chỉ IP (Internet Protocol Address) là một dãy số dùng để định danh một thiết bị trên mạng Internet hoặc mạng nội bộ. Khi chỉ định một địa chỉ IP, bạn đang xác định thiết bị đích mà bạn muốn gửi dữ liệu đến trên mạng.
  • Số cổng là một địa chỉ logic dùng để phân biệt các ứng dụng và dịch vụ mạng khác nhau trên cùng một địa chỉ IP. Khi chỉ định số cổng, bạn đang cho biết ứng dụng hoặc dịch vụ nào trên thiết bị đích mà bạn muốn gửi dữ liệu đến.

TCP server's function call order

socket()
bind()
listen()
accept()
read()/write()
close()

TCP client's function call order

socket()
connect()
read()/write()
close()

UDP client-server connection

5 steps of UDP server
- Create UDP socket.
- Bind the socket to server address.
- Wait until datagram packet arrives from client.
- Process the datagram packet and send a reply to client.
- Go back to Step 3.

5 steps of UDP client
- Create UDP socket.
- Send message to server.
- Wait until response from server is recieved.
- Process reply and go back to step 2, if necessary.
- Close socket descriptor and exit.