基本TCP客户/服务器程序的套接字函数
socket函数的参数:
为了执行网络I/O,一个进程必须做的第一件事情就是调用socket函数,指定期望的通信协议类型(使用IPv4的TCP,使用IPv6的UDP,UNIX域字节流协议等)。
#include<sys/socket.h>
int socket(int family, int type, int protocol);
返回:成功则为非负描述符,若出错则为-1;
其中family参数指明协议族,如图4-2中所示的某个常量。该参数也往往被称为协议域。type参数指明套接字类型,它是图4-3中所示的某个常量。protocol参数应设为图4-4所示的某个协议类型常值,或者设为0,以选择所给定family和type组合的系统默认值。
并非所有套接字family与type的组合都是有效的,下图4-5给出了有效的搭配。其中‘是’是有效的,空白则为无效