1 协议:计算机间对话必备的通信规则
1.1 创建套接字:采用socket函数
#include<sys/socket.h>
int socket(int domain,int type,int protocol);
domain:套接字中使用的协议族信息、 type:套接字数据传输类型信息 protocol:计算机间通信中使用的协议信息
1.2 协议族(Protocol Family)domain PF_INET:IPv4互联网协议族 PF_INET6:IPv6互联网协议族 PF_LOCAL:本地通信的UNIX协议族 PF_PACKET:底层套接字的协议族 PF_IPX:IPX Novell协议族
最常用的为PF_INET,套接字实际采用的最终协议信息为socket函数的第三个参数传递,第一个参数决定采用的哪种协议,第三个参数决定采用具体哪个协议。
1.3套接字类型type 套接字类型值套接字的数据传输方式,通过第二个参数传递,包括两种数据传输方式 类型1:面向连接的套接字(SOCK_STREAM) 传输有序,传输过程中数据不会消失,不存在数据边界。 可靠的按序传输,基于字节的面向连接的数据传输方式的套接字。 类型2:面向消息的套接字(SOCK_DGRAM) 快速传输,不强调传输速度,传输数据可能会都是也可能会损毁,传输数据有数据边界,限制每次传输的数据大小。不可靠的不按序的传输 典型:TCP和UDP
1.4 协议具体选择:protocol IPPROTO_TCP:面向连接的数据传输协议 IPPROTO_UDP:面向消息的数据传输协议
|