当前位置: 首页 > news >正文

UDP接收报文函数recvfrom和UDP发送报文函数sendto

#include <sys/socket.h>
ssize_t recvfrom(int sockfd, void *buff, size_t nbytes, int flags, struct sockaddr *from, socklen_t *addrlen); 

sockfd、buff 和 nbytes 是前三个参数。sockfd 是本地创建的套接字描述符,buff 指向本地的缓存,nbytes 表示最大接收数据字节。
第四个参数 flags 是和 I/O 相关的参数,这里我们还用不到,设置为 0。
后面两个参数 from 和 addrlen,实际上是返回对端发送方的地址和端口等信息,这和 TCP 非常不一样,TCP 是通过 accept 函数拿到的描述字信息来决定对端的信息。另外 UDP 报文每次接收都会获取对端的信息,也就是说报文和报文之间是没有上下文的。函数的返回值告诉我们实际接收的字节数。

#include <sys/socket.h>
ssize_t sendto(int sockfd, const void *buff, size_t nbytes, int flags,const struct sockaddr *to, socklen_t addrlen); 

sendto 函数中的前三个参数为 sockfd、buff 和 nbytes。sockfd 是本地创建的套接字描述符,buff 指向发送的缓存,nbytes 表示发送字节数。
第四个参数 flags 依旧设置为 0。
后面两个参数 to 和 addrlen,表示发送的对端地址和端口等信息。
函数的返回值告诉我们实际发送的字节数。

此文章为11月Day 21学习笔记,内容来源于极客时间《网络编程实战》。

http://www.lryc.cn/news/238498.html

相关文章:

  • Redisson 分布式锁实战应用解析
  • 【机器学习】对比学习(contrastive learning)
  • 开源和闭源的优劣势比较
  • html手势密码解锁插件(附源码)
  • Jetson JetPack-5.1.2-L4T-R35.4.1 修复deskew algorithm的问题
  • Doris的分区表和分桶表
  • 华为HCIE技术(HCIP、HCIE)汇总
  • React结合antd5实现整个表格编辑
  • 【C++进阶之路】第八篇:智能指针
  • 保护服务器免受攻击:解析攻击情境与解决之道
  • Python 获取两个数组中各个坐标点对之间最短的欧氏距离
  • 假ArrayList导致的线上事故......
  • K8S精进之路-控制器Deployment-(1)
  • flutter iOS 视频mov格式转MP4格式
  • datafilecopy header validation failure for file +DATA/orcl/datafile/file1.ora
  • [机缘参悟-119] :一个IT人的反思:反者道之动;弱者,道之用 VS 恒者恒强,弱者恒弱的马太效应
  • CentOS用nginx搭建文件下载服务器
  • Ubuntu下载离线安装包
  • 【UE】线框材质
  • 物联网网关在工业行业的应用与优势
  • 【excel技巧】单元格内的公式如何隐藏?
  • 展开语法、剩余语法
  • MongoDB归并连续号段-(待验证)
  • 【每日一题】设计循环队列(C语言)
  • logic-flow 使用过程中遇到的bug - 拖动节点到画布的时候,鼠标松开,节点不落在画布,仍旧跟着鼠标走
  • el-tree结合el-switch实现状态切换
  • 汽车智能座舱/智能驾驶SOC -1
  • 2023 年爆肝将近 20 万字讲解最新 JavaEE 全栈工程师基础教程(更新中)
  • 目标检测YOLO实战应用案例100讲-基于改进YOLOv5s的道路目标检测(续)
  • Laravel/Lumen 任务调度简易入门说明