本节主要介绍创建套接字的socket函数。
#include <sys/socket.h>
int socket(int domain, int type, int protocol);
// 创建成功返回文件描述符,创建失败返回-1
domain : 套接字中使用的协议族
PF_INET : IPv4互联网协议族,常用的是这个
PF_INET6 : IPv6互联网协议族
PF_LOCAL : 本地通信的UNIX协议族
PF_PACKET : 底层套接字的协议族
PF_IPX : IPX Novell协议族
type : 套接字数据传输类型信息,套接字的数据传输方式。
SOCK_STREAM : 面向连接的套接字,TCP
可靠的,按序传递的,基于字节的面向连接的数据传输方式的套接字。
SOCK_DGRAM : UDP
不可靠的,不按序传递的,以数据的告诉传输为目的的套接字。
protocol : 计算机间通信使用的协议信息
前两个参数基本确定了协议类型,第三个参数一般传0.
IPPROTO_TCP : TCP
IPPROTO_UDP : UDP