Skip to content

2 套接字类型与协议设置

这一节和 socket 函数有关

#include <sys/socket.h>
int socket(int domain, int type, int protocol);
// success 文件描述符,fail -1
// domain 套接字使用的协议族信息,type 套接字数据传输类型信息,protocol 通信使用的协议

协议族

socket 函数第一个参数传递套接字使用的协议分类信息。在 sys/socket.h 中分类如表

名称 协议族
PF_INET IPv4 互联网协议族
PF_INET6 IPv6 互联网协议族
PF_LOCAL 本地通信的 UNIX 协议族
PF_PACKET 底层套接字的协议族
PF_IPX IPX Novell 协议族

套接字实际采用的协议是由第三个参数决定的,在指定的范围内通过第一个参数决定第三个

套接字类型

type 规定数据传输方式,同一个协议族其实有不同的传输方式

面向连接的套接字 SOCK_STREAM