使用TWinSocketStream::Read的时候Read error 64,请问是什么原因?

zuoyefeng 2006-07-04 11:37:09
使用TWinSocketStream::Read时报错 Read error 64指定的网络名不再可用
代码如下,请问是什么原因,该如何解决
if (pStream->WaitForData(60000))
{ //if10
if(!ClientSocket->Connected)
{
Terminate();
return;
}

Sleep(2500);
recvlen = pStream->Read(recv_buf, 1024);
...全文
830 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
liqingle 2006-08-09
  • 打赏
  • 举报
回复
xuexi
僵哥 2006-08-04
  • 打赏
  • 举报
回复
ErrorCode=64,其实就是网络连接已断开.
ttii 2006-07-31
  • 打赏
  • 举报
回复
我也遇到过同样问题,后来发现帮助里面有一个模型,按照他那个模型就对了,我理解TWinSocketStream这个东西是在一次通信那么就建立一个,用完就delete了,这样看来效率不是很高啊,不过只得这样用了,不然就自己用winsocket函数
痞子酷 2006-07-10
  • 打赏
  • 举报
回复
The following example shows a typical ClientExecute method for a custom descendant of TServerClientThread. It reads from the socket connection specified by ClientSocket using a thread-local instance of TWinSocketStream.

void __fastcall TMyServerThread::ClientExecute(void)

{
TWinSocketStream *pStream;
char Buffer[10];
// make sure connection is active
while (!Terminated && ClientSocket->Connected)
{
try
{
Stream = new TWinSocketStream(ClientSocket, 60000);
try
{
memset(Buffer, 0, 10); // initialize the buffer
// give the client 60 seconds to start writing
if (pStream->WaitForData(60000))
{
if pStream->Read(Buffer, 10) == 0) // if can抰 read in 60 seconds

ClientSocket->Close(); // close the connection
// now process the request
...
}
else
ClientSocket->Close(); // if client doesn抰 start, close
}
__finally
{
delete pStream;
}
}
catch (Exception &E)
{
HandleException();
}
}
}
痞子酷 2006-07-10
  • 打赏
  • 举报
回复
WaitForData(60000));就是等待
Sleep(2500);这个可以不要。
zuoyefeng 2006-07-04
  • 打赏
  • 举报
回复
另外与Sleep(2500);没关系
zuoyefeng 2006-07-04
  • 打赏
  • 举报
回复
recvlen = pStream->Read(recv_buf, 1024);
在这里就出错了
真是奇怪
内容概要:本文研究了基于QLearning自适应强化学习的PID控制器在自主水下航行器(AUV)中的应用,通过Matlab代码实现了对水下机器人的动力学建模与运动控制。重点探讨了将强化学习算法QLearning与传统PID控制相结合的方法,以提升AUV在复杂、时变及非线性水下环境中的自适应控制能力。文中系统分析了AUV的运动学与动力学特性,阐述了传统PID参数整定面临的挑战,并提出采用QLearning算法在线动态优化PID控制器的比例、积分和微分参数,从而实现对系统误差、响应速度、超调量等性能指标的综合优化。通过Matlab仿真实验验证了该复合控制策略在轨迹跟踪精度、抗外部干扰能力和系统鲁棒性方面的显著优势,充分展示了强化学习在智能水下装备自主控制领域的可行性和应用潜力。; 适合人群:具备自动控制理论基础、强化学习基础知识及Matlab编程能力的研究生、科研人员和自动化、海洋工程、机器人等相关领域的技术研发人员。; 使用场景及目标:①用于水下机器人、无人潜航器等智能移动装备的高精度运动控制系统设计与开发;②开展强化学习与经典控制理论融合创新的教学案例与科学研究;③解决传统固定参数PID控制器在面对模型不确定性和环境扰动时适应性差、控制性能下降的关键问题。; 阅读建议:建议读者结合提供的Matlab代码进行仿真实践,重点关注QLearning算法中状态空间、动作空间的设计逻辑以及奖励函数的构建原则,深入理解其在参数寻优过程中的作用机制,并可通过调整环境参数和初始条件来测试算法的鲁棒性与泛化能力。

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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