Linux套接字Socket解读

套接字(Socket) 是Linux网络编程的核心机制,它像一个插座一样,连接两个进程(本地或跨网络)。它支持 TCP(可靠、面向连接,用于文件传输等)和 UDP(无连接、快速,用于广播/实时数据)。


基础概念

  • 创建Socket:socket() 函数返回一个文件描述符(类似 FD)。
  • 协议族(domain):
    • AF_INET:IPv4(最常用)
    • AF_INET6:IPv6
    • AF_UNIX / AF_LOCAL:本地 IPC(同一台机器)
  • 类型(type):
    • SOCK_STREAM:TCP(可靠流式)
    • SOCK_DGRAM:UDP(无连接数据报)
  • 协议:通常填 0,让系统自动选默认协议。
  • 地址结构:sockaddr_in(包含 IP + 端口)。