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 变量获取错误码。

参考: https://linux.die.net/man/2/socket

powered by Gitbook© 2023 编外计划 | 最后修改: 2023-11-24 03:36:58

results matching ""

    No results matching ""