TCP和UDP通信对比

tcp通信流程

服务器: 创建流式套接字 绑定 监听 提取 读写 关闭

客户端: 创建流式套接字 连接 读写 关闭

收发数据:

        read recv

                ssize_t recv(int sockfd, void *buf, size_t len, int flags);        //flags==MSG_PEEK 读数据不会删除缓冲区的数据

        write  send

                ssize_t send(int sockfd, const void *buf, size_t len, int flags);        //flags=1 紧急数据

udp通信流程

服务器: 创建报式套接字 绑定 读写 关闭

客户端: 创建报式套接字 读写  关闭

发数据:

        ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen);

        dest_addr: 目的地的地址信息

        addrlen: 结构体大小

收数据: ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen);

        src_addr: 对方的地址信息

        addrlen: 结构体大小的地址

猜你喜欢

转载自blog.csdn.net/weixin_43200943/article/details/130237604