Linux网络编程—recvfrom、sendto

news/2024/10/18 22:34:12/

一、recvfrom

接收数据:将系统缓冲区中的数据拷贝到应用层

#include <sys/types.h>        //头文件
#include <sys/socket.h>

ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags,
                        struct sockaddr *src_addr, socklen_t *addrlen);

参数:

1.sockfd:文件描述符

2.buf:被写入的缓冲区——通常是char buffer[]

3.len:缓冲区的大小

4.flags:控制接收行为的标志,通常设为0(阻塞式等待数据);以下是可用标志

        MSG_WAITALL:尝试接收到全部请求的数据,函数可能会阻塞,知道收到所偶数据

        MSG_PEEK:查看即将接收到的数据,但是不从套接字缓冲区中删除它;

5.sockaddr类型的指针,输出型参数该参数是用来接收从网络对端传来的结构体,以便后续给对端的主机发送消息;输入输出型参数

6.第五个参数实际的长度;传得是地址;输出型参数

二、sendto

发送数据:将应用层数据发送给系统的缓冲区

#include <sys/types.h>        //头文件
#include <sys/socket.h>

ssize_t sendto(int sockfd, const void *buf, size_t len, int flags,
                      const struct sockaddr *dest_addr, socklen_t addrlen); 

参数:

跟recvfrm参数并无太大区别;只不过最后一个参数,是输入型参数;


http://www.ppmy.cn/news/1514241.html

相关文章

将Bean信息封装到BeanDefinition对象然后放到Map中

文章目录 1.目录2.MyScope.java 自定义的Scope注解枚举3.Scope.java 自定义Scope注解4.MonsterService.java 指定bean的作用域5.BeanDefintion.java bean的定义信息6.SunSpringApplicationContext.java Spring容器7.测试 1.目录 2.MyScope.java 自定义的Scope注解枚举 package…

vue.js的设计与实现(响应系统1)

文章目录 概要响应式数据与副作用函数响应式数据的基本实现设计一个完善的响应式系统小结 概要 响应系统式vue的重要组成部分&#xff0c;我们都知道vue3中采用了proxy实现响应式数据的&#xff0c;那是怎么实现的呢&#xff1f;我们往下看 响应式数据与副作用函数 大家肯定会…

gazebo下使用Fast-planner配置(包含mpc局部规划+控制Gazebo小车以及FastPlanner配置)

源码链接&#xff1a; https://github.com/USE-jx/NMPC_CASADI_CPP?tabreadme-ov-file #这是NMPC的 里面有Fast-Planner&#xff0c;但编译可能缺少东西&#xff0c;所以再放一个Fast-Planner的&#xff0c;可以装装缺少的库 https://github.com/HKUST-Aerial-Robotics/Fast-P…

YOLOv10:面向下一代目标检测模型的创新探索

随着计算机视觉技术的飞速发展&#xff0c;目标检测模型在各类应用场景中的重要性与日俱增。从自动驾驶到智能监控&#xff0c;目标检测的准确性和实时性都直接影响着应用的效果和用户体验。YOLO&#xff08;You Only Look Once&#xff09;系列作为实时目标检测的代表性模型&a…

Idea里配置Maven版本

一、安装Maven 1. 官网下载maven地址&#xff1a; Maven – Download Apache Maven Binary是可执行版本&#xff0c;已经编译好可以直接使用。 Source是源代码版本&#xff0c;需要自己编译成可执行软件才可使用。tar.gz和zip两种压缩格式,其实这两个压缩文件里面包含的内容是…

Google Play开发者账号地址验证难题?这些经验或许能帮到你

目前&#xff0c;想要把应用顺利上架到 Google Play&#xff0c;已经不像以前那么简单了&#xff0c;主要是开发者需要应对 Google 日益严格的审核机制。其中&#xff0c;账号验证的地址验证绝对是让很多人头疼的一个环节。 今天就来给大家分享一些真实的经验和干货&#xff0c…

解决ubuntu22.04无法识别CH340/CH341和vscode espidf插件无法选择串口设备节点问题

文章目录 解决ubuntu22.04无法识别CH340/CH341和vscode espidf插件无法选择串口设备节点问题不识别CH340/CH341报错解决办法升级驱动编译安装 卸载brltty程序 vscode espidf插件无法选择串口设备节点问题解决办法编译安装 解决ubuntu22.04无法识别CH340/CH341和vscode espidf插…

短视频SDK解决方案,高效集成,助力商业变现

美摄科技&#xff0c;作为业界领先的多媒体技术服务商&#xff0c;其全面升级的短视频SDK解决方案&#xff0c;旨在为开发者与内容创作者提供一站式、高效能的创作工具&#xff0c;让每一个灵感都能瞬间转化为触动人心的视频作品。 【一站式解决方案&#xff0c;重塑短视频创作…