第一:socket 编程, 涉及到计算机网络信息传输编程。
#include<sys/socket.h>
int socket(int domain ,int type,int protool);
成功时返回文件描述符,失败时返回1
domian :套接字中使用的协议族(protocol Family)信息
type: 套接字数据传输类型信息
protool : 计算机通信中使用使用的协议信息
domian 参数
PE_INEF ipv4 互联网协议族
PE_INET6 ipv6 互联网协议族
第二:套接字的类型(type):
socket 第一个参数PE_INET 协议族中也存在多种数据传输方式 ,且同一个协议族中存在多个数据传输方式相同的协议。
2.1 面向连接的套接字(SOCK_STREAM)(消息的完整性)
int tcp_socket =socket(PE_INT,SOCKET_STREAM,IPPROTO_TCP)
2.2 面向消息的套接字(SOCK_DGRAM)(消息的速度)
int udp_socket =socket(PE_INT,SOCKET_DGRAM,IPPROTO_UDP)
附录:
# 协议族(Protocol Family)
名称 |协议族
:-------:|:-------:
PF_INET|IPv4互联网协议族
PF_INET6|IPv6互联网协议族
PF_LOCAL|本地通信的UNIX协议族
PF_PACKET|底层套接字的协议族
PF_IPX|IPX Novell协议族
# 套接字类型
## 套接字类型1:面向连接的套接字(SOCK_STREAM)
- 可靠性(传输过程中数据不会消失)
- 按序传输数据
- 传输的数据不存在数据边界
## 套接字类型2:面向消息的套接字(SOCK_DGRAM)
- 强调快速传输而非传输顺序
- 传输的数据可能丢失也可能损毁
- 传输的数据有数据边界
- 限制每次传输数据的大小