传输层使用udp实现客户端和服务端通信的小程序

本文详细介绍了如何使用UDP协议在客户端和服务端之间实现通信。服务端包括创建套接字、绑定地址、接收和发送数据、关闭套接字等步骤,而客户端则涉及创建套接字、发送数据、接收数据以及关闭套接字的操作。关键接口包括socket()、bind()、recvfrom()和sendto(),这些函数用于创建、绑定、接收和发送数据。
摘要由CSDN通过智能技术生成

 

通信流程:

服务端
    1.创建套接字
    2.为套接字绑定地址信息(ip+port)
    3.接收数据
    4.发送数据
    5.关闭套接字


客户端
    1.创建套接字
    2.发送数据(客户端一般让os随机分配合适的端口)
    3.接受数据
    4.关闭套接字


接口
    创建套接字
        socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)
            第一个参数代表地址域:IPV4地址
            第二个参数代表套接字类型:面向数据报的
            第三个参数是协议类型:udp
            返回值:成功返回套接字描述符,失败返回-1
    为套接字绑定地址
        bind(sockid, &addr, len)
            第一个参数是套接字描述符(操作句柄)
            第二个参数是要绑定的地址信息
            第三个参数是地址信息长度
            返回值:成功返回0,失败返回-1
    接受数据(来自谁的数据)
        recvfrom(sockid, buf, len ,0, &saddr, &len)
            第一个参数是套接字描述符
            第二个参数是接受的数据放在那
            第三个参数是期望接受的数据长度
            第四个参数0表示阻塞接受数据
            第五个参数是接受来自谁的数据(发送方的地址信息)
            第六个参数是接受发送方的地址信息长度(输入、输出型参数,不但要指定期望接受多长,还要返回实际接受的长度)
            返回值:成功返回实际接受数据长度,失败返回-1
    发送数据(发给谁的)
        sendto(sockid, buf, len, 0, &daddr, len)
            

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值