关于socket的异步操作 xxxxasync

jadetiger 2015-06-17 10:05:35
当使用完成端口时,可以使用socket的acceptasync,sendasync,recvasync,按文档所说,返回false就表示成功完成了,返回true表示要等待异步操作完成, 但反编译其实现代码时发现,返回值生成如下

bool flag;
if (socketError != SocketError.Success && socketError != SocketError.IOPending)
{
e.FinishOperationSyncFailure(socketError, bytesTransferred, SocketFlags.None);
flag = false;
}
else
{
flag = true;
}
明显是出了错误返回false,没有出错返回true,为保和文档描述的不一致?
另外SocketAsyncEventArgs的completed事件一直找不到是哪里触发的
请高手指点
...全文
303 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
CGabriel 2015-06-30
  • 打赏
  • 举报
回复
这个文档完全没有问题。 返回 false 的时候就是说你的操作立刻失败了,不用等 completed 事件了。 可以去检查参数 参数e ,通常的情况下能找到错误的信息。
wudidabaojian 2015-06-22
  • 打赏
  • 举报
回复
档描述确实有歧义,但是返回true也可能会出错。
showjim 2015-06-17
  • 打赏
  • 举报
回复
返回true的情况下,在操作完成之后会触发Completed。
showjim 2015-06-17
  • 打赏
  • 举报
回复
文档描述确实有歧义,但是返回true也可能会出错。
  • 打赏
  • 举报
回复
recvasync返回成功,就是说它"知道"了,而以。看来你还是满脑子同步顺序操作的概念,还没有理解异步操作和并发操作的概念。
  • 打赏
  • 举报
回复
异步操作就去注册一下。比如人家说异步地“买麦当劳外卖”,那么这个意思就是说你告诉对方了、这就算是订餐成功了(等它备好餐,会另外通知你来取)。你不能认为对方给你餐才算成功。
内容概要:本文围绕“新型电力系统下多分布式电源接入配电网承载力评估方法”的研究,系统性地介绍了基于Matlab的仿真建模与代码实现方案,旨在评估高比例分布式电源(如光伏、风电等)接入背景下配电网的接纳能力。研究融合了智能优化算法(如蜣螂优化、灰狼优化、遗传算法)、多目标优化、鲁棒优化及双层优化模型,结合潮流计算、稳定性分析与故障仿真,构建了完整的承载力评估体系。文档不仅提供核心算法实现,还拓展至微电网调度、储能配置、电氢耦合系统、电动汽车协同等前沿方向,强调“复现+创新”相结合的科研路径,助力研究者快速掌握高水平论文复现技巧并激发原创思路。; 适合人群:具备电力系统、自动化或相关专业背景,熟悉Matlab/Simulink仿真环境,正在从事科研或工程应用的研究生及初级科研人员(工作1-3年);; 使用场景及目标:①复现高水平期刊中关于配电网承载力的优化模型;②开展高比例可再生能源接入下的配电网规划与运行研究;③学习并应用智能优化算法解决复杂电力系统问题;④获取完整科研资源包以加速课题进展与论文撰写; 阅读建议:建议读者关注公众号“荔枝科研社”获取网盘资源,下载全套代码与模型文件,按照文档结构循序渐进学习,重点理解算法设计逻辑与仿真建模细节,结合所提供的复现案例深化对优化模型与工程应用场景的理解,提升科研效率与创新能力。

17,748

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧