简单的UDP网络程序

本文介绍了如何实现简单的UDP服务器和客户端,包括创建套接字、绑定端口、接收和发送消息等关键步骤。通过编译运行服务器和客户端,实现双向通信。同时,文章提供了TCP与UDP区别的一篇文章链接,帮助读者更好地理解UDP协议。
摘要由CSDN通过智能技术生成

下面是我的另外一篇文章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, 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值