socket
socket() 函数是用于创建套接字(Socket)的基础系统调用之一。套接字是网络通信的基本结构,用于在不同主机之间进行数据传输。socket() 函数返回一个文件描述符(file descriptor),这个描述符代表了新创建的套接字。
函数原型
cpp
复制代码
int socket(int domain, int type, int protocol);
参数说明
-
domain(协议族):- 指定使用的通信协议族,也就是套接字的地址类型。常用的选项包括:
AF_INET: 表示使用 IPv4 地址。这个是最常用的协议族。AF_INET6: 表示使用 IPv6 地址。AF_UNIX或AF_LOCAL: 用于本地通信(同一台主机上的进程间通信)。
- 指定使用的通信协议族,也就是套接字的地址类型。常用的选项包括:
-
type(套接字类型):- 指定套接字的类型,决定了通信的行为方式。常用的选项包括:
SOCK_STREAM: 提供面向连接的稳定数据传输,即流式套接字。通常与 TCP 协议配合使用。SOCK_DGRAM: 提供无连接的数据报服务,即数据报套接字。通常与 UDP 协议配合使用。SOCK_RAW: 提供原始网络协议访问,通常用于需要直接访问 IP 层的应用。
- 指定套接字的类型,决定了通信的行为方式。常用的选项包括:
-
protocol(协议):-
指定使用的具体协议。通常在指定
domain和
type后,这个参数可以设置为
0,表示使用默认协议。
IPPROTO_TCP: 用于 TCP 协议(当type为SOCK_STREAM时)。IPPROTO_UDP: 用于 UDP 协议(当type为SOCK_DGRAM时)。0: 自动选择与type对应的默认协议。
-

浙公网安备 33010602011771号