Tag: Linux

核心 Linux Socket API 用法释义


1. socket()

int socket(int 协议族, int 套接字类型, int 协议);

📖 解释:创建一个新的套接字,返回一个文件描述符用于后续网络通信.

第 1 个参数 🔑:协议族,指定通信协议类型.

  • 示例:AF_INET(IPv4协议)、AF_INET6(IPv6协议)、AF_UNIX(本地进程间通信).

第 2 个参数 🔑:套接字类型,指定通信语义.

  • 示例:SOCK_STREAM(TCP流式套接字)、SOCK_DGRAM(UDP数据报套接字).

第 3 个参数 🔑:具体协议,通常为0(使用默认协议).

  • 示例:若类型是SOCK_STREAM,则默认协议是IPPROTO_TCP;若类型是SOCK_DGRAM,默认协议是IPPROTO_UDP.

返回值 📤

  • ✅ 成功时:返回非负整数(套接字文件描述符).

  • ❎ 失败时:返回-1,并设置errno(如EACCES权限不足、EINVAL参数无效).

[...]