套接字协议及其数据传输特性
协议
协议是为了完成数据交换而定好的约定,是一种通信规则
创建套接字

-
协议族
-
AF_INET:IPv4互联网协议族
-
AF_INET6:IPv6互联网协议族
-
AF_LOCAL:本地通信的UNIX协议族
-
-
套接字类型
套接字类型指的是套接字的数据传输方式
-
面向连接的套接字(SOCK_STREAM)
-
传输过程中数据不会消失
-
按序 传输数据
-
传输的数据 不存在消息边界
套接字连接必须一一对应
可靠的、按序传递的、基于字节的面向连接的数据传输方式的套接字
-
-
面向消息的套接字(SOCK_DGRAM)
-
强调 快速传输 而非传输顺序
-
传输的数据可能丢失也可能损毁
-
传输的数据有 消息边界
-
限制每次传输的大小
不可靠的、不按序传递的、基于消息的、以数据的高速传输为目的的套接字
-
-
-
协议的最终选择
第三个参数用于确定最终的协议,若前两个参数可以确定要使用协议,该参数置0
同一协议族中可能存在多个数据传输方式相同的协议
// usage1 socket(AF_INET, SOCK_STREAM, 0); // usage2 socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);这两个使用得到的结果是相同的,
usage1的意思是 创建一个IPv4协议族中面向连接的套接字,符合条件的协议只有 TCP,所以第三个参数可以置0,与usage2相同
posted on
浙公网安备 33010602011771号