多线程下socket接收问题

jamesjinyongming jamesjinyongming 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
socket是CSocket类继承而来的,socket是在线程里创建的,因此不能触发OnReceive函数,改用recv函数来接收数据,但是,发现用
recv函数来接收来会出现掉包现象
具体程序如下:
else if(fmuPro.strProtName=="光一")
{
unsigned char dataBefore[200];
UINT nLenth, nFrameLen;
int nLenthBefore;
memset( dataBefore, 0, 200 );
if( fmuPro.strCommMode=="0" || fmuPro.strCommMode=="1") //GPRS
{

unsigned char slendata[4000];
memset(slendata,0,4000);
if( bReadCTData || (nLenthBefore = recv(m_FmuSocket->m_hSocket, (char *)dataBefore, 200, MSG_PEEK))!=-1 )
{
Sleep(300);
nLenth = m_FmuSocket->Receive( mTreadBuf->DataBuf, 4000, MSG_PEEK );
if( nLenth==0 || nLenth == -1)
{
return 0;
}
else
((CQueueThread *)m_pParent)->DispSysLog( 2, 0, CUtilities::Hex2Ascii( (char *)mTreadBuf->DataBuf, nLenth ) );//信息栏帧数据显示
}
else
return 0;
}
else
return 0;

if( pFmuMan->fnGYIsRcvedFrame )
{
nFrameLen = pFmuMan->fnGYIsRcvedFrame( mTreadBuf, nLenth );

if( nFrameLen==0 )
m_FmuSocket->Receive( mTreadBuf->DataBuf, nLenth );
else
m_FmuSocket->Receive( mTreadBuf->DataBuf, nLenth );

return nFrameLen;
}
else
return 0;

}
...全文

相关推荐

基于STAR-CCM+的汽车热管理仿真: 优化设置稳态车辆热管理模拟的最佳实践,StarCCM+在汽车热管理仿真中的稳态车辆热管理模拟最佳实践指南,starccm 汽车热管理仿真 本文向您展示了设置整

基于STAR-CCM+的汽车热管理仿真: 优化设置稳态车辆热管理模拟的最佳实践,StarCCM+在汽车热管理仿真中的稳态车辆热管理模拟最佳实践指南,starccm 汽车热管理仿真 本文向您展示了设置整车热管理(VTM)模拟的最佳实践。 这是一组用于设置稳态车辆热管理(VTM)模拟的最佳实践。 通过考虑散热器、发动机表面和排气系统产生的热量,对传动系的大部分总热输出进行了建模。 包含具有厚度的实体零部件,以准确建模传导,同时保持实体几何图形的准确表示。 不干净的车辆几何体(即,在拓扑上对网格无效)用于表示真实的车辆几何体集。 移动参考系(MRF)用于旋转零件,包括风扇。 流体和固体不共形啮合,以便为每个区域提供合适的啮合策略,并提高啮合的稳健性。 环境流体用修剪单元网格划分网格以提高网格划分效率,而排气系统内部和磁流变液区域内的流体与多面体网格划分网格以更好地适应非单向流动。 固体与薄网格网格化,以确保在保持合理的细胞计数的同时,对薄固体的温度梯度有很好的分辨率。 散热器堆芯和催化转化器堆芯等多孔介质与沿流动方向对齐的修剪过的网状物形成网格,以减少错误的流动扩散。 最佳实践(谦虚地)仅作

ltsCjjbU

STAR CCM+:优化汽车热管理仿真的设置实践与啮合策略分析,StarCCM+在汽车热管理仿真中的稳态车辆热管理模拟最佳实践指南,starccm 汽车热管理仿真 本文向您展示了设置整车热管理(VTM

STAR CCM+:优化汽车热管理仿真的设置实践与啮合策略分析,StarCCM+在汽车热管理仿真中的稳态车辆热管理模拟最佳实践指南,starccm 汽车热管理仿真 本文向您展示了设置整车热管理(VTM)模拟的最佳实践。 这是一组用于设置稳态车辆热管理(VTM)模拟的最佳实践。 通过考虑散热器、发动机表面和排气系统产生的热量,对传动系的大部分总热输出进行了建模。 包含具有厚度的实体零部件,以准确建模传导,同时保持实体几何图形的准确表示。 不干净的车辆几何体(即,在拓扑上对网格无效)用于表示真实的车辆几何体集。 移动参考系(MRF)用于旋转零件,包括风扇。 流体和固体不共形啮合,以便为每个区域提供合适的啮合策略,并提高啮合的稳健性。 环境流体用修剪单元网格划分网格以提高网格划分效率,而排气系统内部和磁流变液区域内的流体与多面体网格划分网格以更好地适应非单向流动。 固体与薄网格网格化,以确保在保持合理的细胞计数的同时,对薄固体的温度梯度有很好的分辨率。 散热器堆芯和催化转化器堆芯等多孔介质与沿流动方向对齐的修剪过的网状物形成网格,以减少错误的流动扩散。 最佳实践(谦虚地)仅作为一组指导方针介

NGOfjlCHl

"基于STAR-CCM+的汽车热管理仿真: 优化设置稳态车辆热管理模拟的最佳实践",starccm 汽车热管理仿真 本文向您展示了设置整车热管理(VTM)模拟的最佳实践 这是一组用于设置稳态车辆热管

"基于STAR-CCM+的汽车热管理仿真: 优化设置稳态车辆热管理模拟的最佳实践",starccm 汽车热管理仿真 本文向您展示了设置整车热管理(VTM)模拟的最佳实践。 这是一组用于设置稳态车辆热管理(VTM)模拟的最佳实践。 通过考虑散热器、发动机表面和排气系统产生的热量,对传动系的大部分总热输出进行了建模。 包含具有厚度的实体零部件,以准确建模传导,同时保持实体几何图形的准确表示。 不干净的车辆几何体(即,在拓扑上对网格无效)用于表示真实的车辆几何体集。 移动参考系(MRF)用于旋转零件,包括风扇。 流体和固体不共形啮合,以便为每个区域提供合适的啮合策略,并提高啮合的稳健性。 环境流体用修剪单元网格划分网格以提高网格划分效率,而排气系统内部和磁流变液区域内的流体与多面体网格划分网格以更好地适应非单向流动。 固体与薄网格网格化,以确保在保持合理的细胞计数的同时,对薄固体的温度梯度有很好的分辨率。 散热器堆芯和催化转化器堆芯等多孔介质与沿流动方向对齐的修剪过的网状物形成网格,以减少错误的流动扩散。 最佳实践(谦虚地)仅作为一组指导方针介绍。 此处显示的示例使用了比平时更粗的设置,以使

SmkntTVjVSAL

汽车热管理仿真的STAR-CCM+最佳实践指南:从模型构建到网格划分 - 流体动力学

使用STAR-CCM+软件进行汽车热管理仿真的最佳实践。首先,强调了模型构建时需要全面考虑热量来源,特别是散热器、发动机表面和排气系统的热量。其次,讨论了实体零部件的建模,指出包含厚度的实体零部件有助于准确建模热传导。接着,阐述了车辆几何体的真实表示,确保网格的有效性。然后,介绍了移动参考系(MRF)的应用,用于模拟旋转零件如风扇的热量传递。再者,解释了流体与固体的啮合策略,采用不共形啮合以提高模拟的稳健性。此外,详细描述了不同区域的网格划分方法,如环境流体的修剪单元网格和排气系统内部的多面体网格,以及固体部分的薄网格网格化。最后,针对多孔介质采用了特定的网格化方法,以减少错误的流动扩散。文中还提到,这些最佳实践仅为指导方针,可根据具体情况进行调整。 适合人群:从事汽车热管理仿真的工程师和技术人员。 使用场景及目标:帮助工程师掌握STAR-CCM+软件的具体操作技巧,提升汽车热管理仿真的准确性和效率,适用于新项目启动前的学习和现有项目的优化。 其他说明:本文提供的最佳实践旨在为用户提供一套完整的指导,但在实际应用中可以根据具体需求进行适当调整。

OtEECJAL

汽车发动机舱热管理研究与优化.pdf

汽车发动机舱热管理研究与优化.pdf

科技互联人生
评论 11
收藏 已收藏
分享
返回顶部
jamesjinyongming
网络编程 18,356 成员 64,161 内容