下面是我的另外一篇文章TCP协议和UDP协议的区别:
https://blog.csdn.net/qq_37941471/article/details/80888827
这样我们可以更清楚的理解程序
UDP服务器和客户端实现需要的接口:
下面介绍的接口都在这个头文件中:
#include <sys/socket.h>
#include <sys/types.h>
1. 创建套接字 ( socket() )
int socket(int domain, int type, int protocol);
int socket(int domain, int type, int protocol);
1.domain 指定使用何种的地址类型
协议 说明
PF_INET/AF_INET Ipv4 网络协议
PF_INET6/AF_INET6 Ipv6 网络协议
2. type的类别。见表:
类型 说明
SOCK_STREAM 提供双向连续且可信赖的数据流, 即TCP
SOCK_DGRAM 使用不连续不可信赖的数据包连接,即UDP
3. protocol 用来指定socket 所使用的传输协议编号,通常为0
4.返回值:成功(0);失败(-1)
5. socket()打开一个网络通讯接口,如果成功的话,就想open()一样返回一个文件描述符
2. 命名套接字
//2. 命名套接字
struct sockaddr_in local;
local.sin_family = AF_INET;//Ipv4: AF_INET;Ipv6: AF_INET6
local.sin_port = htons(atoi(argv[2]));//端口号是2位的数
local.sin_addr.s_addr = inet_addr(argv[1]);
3. 绑定端口号 ( bind() )
int bind(int sockfd, struct sockaddr * my_addr, int addrlen);
int bind(int sockfd, struct sockaddr * my_addr,