recvfrom vs2010 debug正常 realse错误10040

2023-10-31

学习socket程序,udp多播发送和接收。其中一个接收recvfrom函数。在debug能正常运行,在release无法运行

,总是提示10040错误,查询百度,说是接收缓存区不够。下面是程序代码:

void MultiSock::RecvPacket(void)
{
MessageBox(NULL,TEXT("開始接收多播組192.168.5.226上的數據"),TEXT("接收"),MB_OK);
char buf[1028];
char err[10];
int nAddrLen = sizeof(si);
while(TRUE)
{
int nRet = ::recvfrom(s,buf,strlen(buf),0,(sockaddr*)&si,&nAddrLen);
if (nRet != SOCKET_ERROR)
{
buf[nRet]='\0';
MessageBox(NULL,buf,TEXT("數據"),MB_OK);
}
else
{
int n=::WSAGetLastError();
itoa(n,err,10);
MessageBox(NULL,err,TEXT("數據"),MB_OK);
break;
}
}


}

思来想去,后面还用

       int nRecvBuf=32*1024;
setsockopt(s,SOL_SOCKET,SO_RCVBUF,(const char*)&nRecvBuf,sizeof(int));
int nSendBuf=32*1024;
setsockopt(s,SOL_SOCKET,SO_SNDBUF,(const char*)&nSendBuf,sizeof(int));

专门调大缓冲区,也无济于事。后面想想还是recvfrom错误。认真再看看代码,发现接收

缓存区大小recvfrom实际为strlen(buf)。于是用memset(buf,0,1028)初始化。还是不行。

后来干脆直接把strlen(buf)换为数字1028,结果OK。 看来在debug和release下,strlen(buf)

的结果是有区别的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

recvfrom vs2010 debug正常 realse错误10040 的相关文章

  • 写定时任务发送邮件报错(Could not connect to SMTP host:smtp.exmail.qq.com,port:465)

    需求阐述 在写完定时任务发送邮件之后 调试的时候发现报错 Could not connect to SMTP host smtp exmail qq com port 465 一开始我以为是在for循环里发送邮件导致的 把循环禁用掉之后 发
  • systemd配置文件及管理方法详解

    一 systemd文件夹配置文件夹 systemd 配置文件存在于以下三个文件夹中 etc systemd system 存放系统启动的默认级别及启动的unit的软连接 优先级最高 run systemd system 系统执行过程中产生的
  • Log4j工具入门

    Log日志 主要用于记录程序运行的情况 以便于程序在部署之后的排错调试等等 也有利于将这些信息进行持久化 如果不将日志信息保存到文件或数据库 则信息便会丢失 Java Logging API 需JDK1 4版本以上才能支持 java uti
  • SQLPrompt关闭联网

    一 安装步骤概述 下载的破解版本SqlPrompt一般包含有如下两个可执行程序文件 安装步骤 1 安装SQLPrompt xxx 版本号 应用程序 需要关掉Miscrosoft SQL Server Management 2 再打开SQL
  • UDP 概述(主要特点,首部格式 header)

    文章目录 1 UDP 概述 2 UDP的 首部格式 header 1 UDP 概述 UDP只在 IP的数据包服务 之上增加了一点功能 这就是复用和分用的功能以及差错检测的功能 UDP的主要特点 序号 特点 描述 1 无连接 发送数据之前不需
  • 电商系统sku设计

    1 sku含义 sku stock keeping unit 是库存保存单位 即库存进出量的单位 可以是件 盒等为单位 在使用时候根据不同的业务状态 不同的管理模式来处理 在服装 鞋类使用最普遍 如图所示 2 数据库设计 规格属性表 对应上
  • 合肥工业大学编译原理实验二 LL1分析

    写在开头 当老师说这个实验最好写成图形界面时 我笑了 滑稽 心想终于可以用到python了 python真香 用python的数据结构可以很方便的表示LL1的某些东西 当然有利也有弊 方便的同时也会有一些坑 当然Java也牛逼 Java的图
  • HBase学习之六: hbase的预分区设计

    HBase学习之六 hbase的预分区设计 标签 hbase 2016 07 14 22 28 137人阅读 评论 0 收藏 举报 分类 hbase 9 大数据 2 版权声明 本文为博主原创文章 未经博主允许不得转载 背景 HBase默认建
  • 密码学在区块链隐私保护中的应用学习

    身份隐私保护技术 混淆服务 混淆服务的目的在于混淆消息双方的联系 如 图 2 所示 当发送方需要告知接收方消息 M 时 它会首先用接收方的公钥 KB 加密 M 并在密文后 附带真实接收地址 R 为了借助第三方 图 2 中的 混淆服务器 的能
  • unity 3d 仿真_在Unity3D中构建3D仿真入门,第1部分

    unity 3d 仿真 欢迎阅读有关Unity 3D的博客文章 分为三部分 的第一部分 在本系列中 我们将在Unity3D中使用丰富的控件创建一个简单的3D游戏 第一部分将介绍如何设置Unity3D 第二部分将教您如何使用C 控制Unity
  • 微电网重构

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 本文目录如下 目录 1 概述 2 数学模型 3 算例仿真及结果 4 结论 5 参考文献 6 Matlab和Python代码及文章详细讲解 1 概述 分布式能源 DE
  • keyshot卡住了还能保存吗_KeyShot常见问题汇总及解答(附图)!

    原标题 KeyShot常见问题汇总及解答 附图 KeyShot作为一款强大的3D实时渲染软件 被安装在各种用作商业设计和美术设计的PC及Mac电脑上 软件使用过程中难免会遇到各种问题 可能你会选择自己摸索 终能找到解决方法 但一定花费不少时
  • 银河麒麟 Qt 提示函数无定义 代码无补全提示

    1 打开 QtCreator 2 点击 帮助 选择关于插件 3 在弹出框 C 目录下 取消 ClangCodeMode勾选 4 重启QtCreator 即可生效
  • 【面试】移动端的自适应布局如何实现?

    1 百分比布局 使用百分比布局实现移动端的自适应布局 可以让页面元素随设备屏幕的大小自动适应缩放 从而实现不同设备的自适应 下面是具体的实现步骤 1 1 在CSS中 使用百分比作为元素的宽高 边距等属性值 例如 如果设计稿中某个元素的宽度为
  • 嵌入式Linux驱动开发(LCD屏幕专题)(二)

    一 结合APP分析LCD驱动程序 1 open app open dev fb0 主设备号 29 次设备号 0 kernel fb open fbmem c struct fb info info info get fb info fbid
  • 蓝牙抓包工具使用教程

    蓝牙抓包工具使用教程 一 Ellisys Bluetooth Analyzer 1 测试环境准备 Ellisys抓包卡设备 电源线 USB连接线 接电脑端 Ellisys配套软件安装 软件传送门 软件安装成功后如下 2 电脑端打开软件 3
  • 2023最新无人机专业现状分析及完整“产教融合”人才培养解决方案(超详细)

    一 概述 近年来在大众创业 万众创新 互联网 概念的背景下 无人机产业蓬勃发展 无人机产业不再局限于军事及民用小众市场 随着国内企业对无人机产品的研发投入不断加大 相关技术的不断成熟 无人机发展迅速 在各领域的应用范围越来越大 行业发展前景
  • VSCode中ASP.NET Core程序添加NuGet引用

    上一篇文章中 创建项目后基本没有改动项目内容 仅是把Pages Index cshtml文件中的Welcome修改为Hello World 复杂的程序需要在项目中引用相关的程序集 在VSCode中引用程序集不像在VS中那么方便 而且最新的项
  • 89、基于STM32的自动跟随小车

    毕设帮助 开题指导 技术解答 有偿 见文末 目录 摘要 一 硬件方案 二 设计功能 三 实物图 四 原理图 五 PCB图 六 硬件框图 七 流程图 八 程序源码 九 资料包括 摘要 本次试验主要分析了基于STM32F103微处理器的智能小车

随机推荐

  • ESP32(MicroPython) RGB点阵+多功能显示+可交互超声波云台

    ESP32 RGB点阵 多功能显示 可交互超声波云台 本程序通过LCD1602显示湿度和距离数据 超声波云台在超声波传感器检测到距离小于15厘米时顺时针转动 距离大于15厘米时逆时针转动实现交互 WS2812点阵每320ms显示随机颜色 每
  • VUE 判断字符串类型的时间 是否到当前时间的15分钟内

    handlePush row if Date parse row liveBeginTime lt Date now 15 60 1000 this router push live push row id row uid else thi
  • 西门子数控机床如何用FTP进行程序传输

    西门子数控机床如何用FTP进行程序传输 前言 做数控机床加工的老铁们应该都会有个频繁动作 就是用U盘或CF卡传程序 虽然比较普遍 而且也没有很不方便 但其实对于管理层来说 程序这个东西其实是失控的 程序文件没有被有效管理和迭代 至于说程序文
  • msprofiler 性能调优命令行实战(口罩识别推理)

    案例介绍 本案例使用口罩识别推理程序作为例子进行演示 硬件平台是华为昇腾310设备 Ascend 310 该口罩识别使用目标检测中SSD模型 检测的结果有两个类别 戴口罩的脸 没带口罩的脸 成功执行推理程序后我们对其进行了推理调优 使推理过
  • Socket网络编程

    一 什么是socket socket在英文词典中是插座的意思 但在网络编程我们把它翻译成套接字 即网络插座 它用于描述地址和端口 是一个通信链的句柄 应用程序通过socket向网络发出请求或者回应 socket编程有三种 1 流式套接字 S
  • 关于电脑软件的一些实用推荐(二)

    大纲 零 前言 壹 系统类 贰 软件类 叁 网站类 肆 其他使用习惯及技巧 写在前面 推荐两个正版软件的网站 1 软购商城 2 麦软网 3 softonic 有收费有免费 贰 软件类 二 视频软件 1 KMplayer 来自韩国的全能影音播
  • XML学习之Xml Schema:六、复杂类型--模型组

    模型组元素 如果一个元素的内容是纯元素内容 该元素的内容只包含子元素 没有字符数据 可以使用模型组来构建纯元素的内容 模型组元素有3种 分别是 sequence choice all sequence 表示序列 sequence组中的所有子
  • 回归方程的拟合优度检验_Eviews系列5

    点击上方蓝字关注我们 这期小统带大家继续学习修正检验 异方差 2 昨天我们文末提到 若多重共线性修正后的模型残差项之间存在异方差 我们该使用什么方法进行修正呢 答案是 加权最小二乘法 我们使用加权最小二乘法进行异方差的修正 得到的结果如上表
  • 数组名退化作一个元素的指针,降级

    写一篇博客方便自己复习 参考网址 https www cnblogs com sanghai archive 2013 11 01 3402258 html 数组名退化为指针 在使用数组时 大多数情况下数组都会自动转换为指向第一个元素的指针
  • Java自定义切面缓存注解如此简单(Redis + SpringAop)

    自定义缓存切面注解 1 展示效果 如果使用这种方式 建议使用切面缓存异常类 如果当前方法缓存失败 也应该执行具体业务逻辑而非报错终止程序 具体参考切面缓存 CacheException 1 1 成功保存到redis效果 第一次Redis没有
  • ReactJS编写的树形表格

    表格使用ReactJs编写的树形表格 表格功能 以树形表格的格式显示数据 每条数据的右击菜单根据这条数据中不同的属性标示 可控制对应的类型是否可以下钻 数据对应的地域下钻之后 点击地域前面的小三角可进行本省份下的地市下钻 reportTre
  • vue 实现课程表甘特图

    1 封装 components
  • 决策树建模实践-构建树、显示、剪枝、处理缺失值和预测

    决策树建模 构建决策树 显示决策树 决策树剪枝 处理缺失值 训练数据和预测数据中的 决策树预测 案例 利用决策树进行分类问题 采用CART决策树 假设已经有一份清洗好的数据 前四列表示属性及其值 最后一列为分类 数据示例 slashdot
  • web.xml配置报The content of element type “web-app“ must match错误解决

    1 问题 配置web xml时报如下错 The content of element type web app must match icon display name description distributable context p
  • windows10配置make命令

    本质上来说windows是没有make命令的 而真正和Linux中make命令有相同作用的是mingw32 make 我们为了使用方便可以直接把mingw32 make改为make 但是如果你在其它的编译软件中想要使用mingw32 mak
  • Redis7高级之缓存双写一致性之更新策略探讨(三)

    1 缓存双写一致性 如果redis中有数据 需要和数据库中的值相同 如果redis中无数据 数据库中的值是最新值 且准备回写redis 缓存按照操作分 只读缓存 读写缓存 同步直写策略 写数据库后也同步写 redis 缓存 缓存中的数据和数
  • 微信远程代码执行漏洞(最新版本利用)-亲测已上线

    目录 POC index html exp js 测试总结 最新版微信利用方式 最新版存在 web安全学习了解 web渗透测试 官网 宣紫科技 POC index html exp js ENABLE LOG true IN WORKER
  • Java如何将String转换成json对象或json数组

    导包
  • 安装MySQL提示cab文件损坏_安装所需的 CAB 文件“Redist.cab”已损坏处理办法

    近日为客户调试sql server 2008时意外的然出现两个报错 结果导致部分功能组件无法安装成功 如下 产品 Microsoft SQL Server 2008 联机丛书 简体中文 错误 1335 此安装所需的 CAB 文件 Redis
  • recvfrom vs2010 debug正常 realse错误10040

    学习socket程序 udp多播发送和接收 其中一个接收recvfrom函数 在debug能正常运行 在release无法运行 总是提示10040错误 查询百度 说是接收缓存区不够 下面是程序代码 void MultiSock RecvPa