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

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.kler.cn/news/149767.html

相关文章:

  • runapi的学习记录
  • MySQL分页查询方法及优化
  • PAT-10道题
  • Fortinet 发布《2024 年网络威胁趋势预测报告》 攻击精准性、复杂性将显著提升
  • 嵌入式设备与PC上位机通信协议设计的几点原则
  • Vue中使用正则表达式进行文本匹配和处理的方法
  • 优化器原理——权重衰减(weight_decay)
  • CodeTON Round #7 (Div. 1 + Div. 2)
  • 景联文科技加入中国人工智能产业联盟(AIIA)数据委员会
  • ELK---filebeat日志收集工具
  • 手势识别4:C/C++实现手部检测和手势识别(含源码下载)
  • 接口测试用例编写和接口测试模板
  • 零代码连接钉钉宜搭与用友U8,让业财数据管理简单高效
  • Python自动化测试数据驱动解决数据错误
  • 修改Linux系统的网络参数
  • SerializationException异常产生原因及解决方案
  • 计算机人机界面
  • CSS特效021:蛇形左右扭动的效果
  • 哈希思想应用【C++】(位图,布隆过滤器,海量数据处理面试题)
  • 安全技术与防火墙
  • 日常办公:批处理编写Word邮件合并获取图片全路径
  • 根据Java的数据库实体类输出建表SQL
  • Surfer与Voxler数据处理及可视化
  • Linux - 动静态库(下篇)
  • Vue3 反应性全套基础知识都单独附带实例
  • Leetcode49.字母异位词分组
  • 开发一款短剧视频小程序软件多少钱?
  • 使用JMeter+Grafana+Influxdb搭建可视化性能测试监控平台
  • Vue 双向数据绑定
  • ElasticSearch之cat indices API