socket() 方法
socket() 函数是在网络编程中使用的一个系统调用,用于创建一个新的网络套接字。套接字是用于在网络上进行数据传输的一种通信机制,可以通过网络连接两个或多个计算机。在通信之前,每个参与通信的计算机都必须创建一个套接字。
socket() 函数原型如下:
#include <sys/types.h>
#include <sys/socket.h>
int socket(int domain, int type, int protocol);
其中,domain 参数指定套接字使用的协议族,例如 AF_INET 表示使用 IPv4 协议,AF_INET6 表示使用 IPv6 协议,AF_UNIX 表示使用 Unix 域协议等等。
type 参数指定套接字的类型,例如 SOCK_STREAM 表示使用 TCP 协议进行面向连接的数据传输,SOCK_DGRAM 表示使用 UDP 协议进行无连接的数据传输等等。
protocol 参数指定协议的编号,通常可以指定为 0,表示让系统自动选择适当的协议。如果 type 参数指定为 SOCK_RAW,那么 protocol 参数通常用于指定原始协议的编号,例如 IP 协议编号为 0,ICMP 协议编号为 1,TCP 协议编号为 6 等等。
socket() 函数返回一个非负整数,表示新创建的套接字的文件描述符。如果函数返回 -1,则表示创建套接字失败,此时可以通过 errno 变量获取错误码。