socket窥门学习笔记1 -- udp编程

UDP协议

UDP是一个无连接协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。

UDP编程C/S架构

在这里插入图片描述

UDP网络编程流程:

服务器:
创建套接字 socket(int domain, int type, int protocol);
domain:通信域,协议族
type:套接字的类型 
protocol:附加协议,如果不需要,则设置为0 
将服务器的ip地址、端口号与套接字进行绑定 bind(int sockfd, const struct sockaddr *addr,socklen_t addrlen);
sockfd:文件描述符,socket的返回值 
addr:网络信息结构体 
addrlen:addr的长度 
接收数据 recvfrom(int sockfd, void *buf, size_t len, int flags,5 struct sockaddr *src_addr, socklen_t *addrlen);
sockfd:文件描述符,socket的返回值 
buf:保存接收的数据 
len:buf的长度 
flags:标志位
src_addr:源的网络信息结构体
addrlen:src_addr的长度
发送数据 sendto(int sockfd, const void *buf, size_t len, int flags, 4 const struct sockaddr *dest_addr, socklen_t addrlen);
 sockfd:文件描述符,socket的返回值 
 buf:保存接收的数据 
 len:buf的长度 
 flags:标志位
 src_addr:源的网络信息结构体
 addrlen:dest_addr的长度

发送与接收函数socklen_t addrlensocklen_t *addrlen注意区分

客户端:
创建套接字 socket() 
发送数据 sendto() 
接收数据 recvfrom() 
关闭套接字 close()

同上服务器即可

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值