内容
第2章 套接字类型与协议设置
int socket(int domain, int type, int protocol);
domain: 指定协议族
type: 数据传输类型信息
protocol: 协议信息
协议族
PF_INET -- IPv4互联网协议族
PF_INET6 -- IPv6互联网协议族
PF_LOCAL -- 本地通信的UNIX协议族
PF_PACKET -- 底层套接字的协议族
PF_IPX -- IPX Novell协议族
面向连接的套接字(SOCK_STREAM)
传输过程中数据不会消失
按序传输数据
传输的数据不存在数据边界 (如服务器端多次写,但客户端只需一次读)
int tcp_socket = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
面向消息的套接字(SOCK_DGRAM)
强调快速传输而非传输顺序
传输的数据可能丢失也可能损毁
传输的数据有数据边界
限制每次传输的数据大小
int udp_socket = socket(PF_INET, SOCK_DGRAM, IPPROTOCOL_UDP);