ServerSocket 多线程方式, ClientExecute()函数里面的代码不能触发

bahic 2010-06-26 09:53:19
最近学习ServerSocket的 stThreadBlocking方式编程
也看了网上的一些代码,感觉主要流程都差不多,我也试着写了一个最基本的。
但居然不知道怎么读写数据!
我的源码大致以下:
class TForm1 : public TForm
{
__published: // IDE-managed Components
TServerSocket *ServerSocket1;
TButton *Button1;
void __fastcall Button1Click(TObject *Sender);
void __fastcall ServerSocket1GetThread(TObject *Sender, TServerClientWinSocket *ClientSocket,
TServerClientThread *&SocketThread);
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};

class SrvThread : public TServerClientThread //自定义线程类
{
private:
UINT FTimeOut;
TWinSocketStream* WskStream;
TThread *pThread;
protected:
void __fastcall ClientExecute(void); //重载TServerClientThread的ClientExecute 而不是TThread的Execute
public:
__fastcall SrvThread(bool CreateSuspended,TServerClientWinSocket* ASocket):TServerClientThread(CreateSuspended,ASocket)
{
CreateSuspended = false; KeepInCache=true; FreeOnTerminate=false;
}
__property UINT TimeOut = {read=FTimeOut, write=FTimeOut};
};
//上面是.H文件
//------------------------------------------------------------------------------------------


CPP文件以下:

void __fastcall TForm1::ServerSocket1GetThread(TObject *Sender, TServerClientWinSocket *ClientSocket,TServerClientThread *&SocketThread)
{
SocketThread = new SrvThread(true,ClientSocket); //在此设断点,每次客户端一连接,都能断下来。
}
//---------------------------------------------------------------------------
void __fastcall SrvThread::ClientExecute()
{
ShowMessage(L"dasfadsfasdf"); //在此设断点,从来没断下来过。
}

/*
我的编程环境:BDS2009
现在我的问题是: 我看网上许多文章都说连接上后,只要客户端发送数据,都会触发此函数。但为什么我从来没断下
来过?
ServerType=stThreadBlocking 这个我设置正确了的。

原来用stNonBlocking方式,写的几个小程序都能正常运行,但stThreadBlocking这种方式不是很清楚,也没找到相关源码,
哪位老大如果有这方面的源代码,希望能发给我看看,不要贴代码,我想要源码,这样我才能跟踪分析一下。谢谢了。
邮箱: bahic@163.com
*/

...全文
190 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bahic 2010-06-28
  • 打赏
  • 举报
回复
结贴吧.网上找了一个源码.跟踪一下.清楚了.
周药师 2010-06-27
  • 打赏
  • 举报
回复
没有试过;
C++Builder自从2007开始就准备淘汰了,默认的面板都没有了;
stThreadBlocking是阻塞方式,本来也是不推荐的;
zhgwbzhd 2010-06-27
  • 打赏
  • 举报
回复
INDY很不错啊。
bahic 2010-06-27
  • 打赏
  • 举报
回复
没事顶一下
bahic 2010-06-27
  • 打赏
  • 举报
回复
嗯,我一直用CB, VS2008也在使用。两者的优点和缺点都很明显。
内容概要:本文围绕“基于超局部模型与自抗扰ESO观测器的无模型预测电流控制改进策略”展开研究,提出一种结合超局部模型(ULM)与扩张状态观测器(ESO)的无模型预测电流控制(MFPCC)改进方法,旨在提升永磁同步电机(PMSM)电流环的动态响应性能与抗干扰能力。该策略利用超局部模型对系统行为进行局部逼近,避免依赖精确数学模型,同时引入自抗扰控制中的ESO实时观测并补偿系统内外部扰动,有效抑制参数摄动、负载变化及模型不确定性带来的影响。研究通过Simulink搭建完整的控制系统仿真模型,对传统MFPCC与所提改进策略进行对比分析,验证了新方法在电流跟踪精度、响应速度和鲁棒性方面的优越性。; 适合人群:具备电机控制、现代控制理论及Simulink仿真基础的电气工程、自动化及相关专业的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于高性能电机驱动系统中电流环控制器的设计与优化;②为无模型控制与自抗扰控制的融合应用提供技术参考;③支撑相关课题的仿真验证、论文复现与创新方法研究。; 阅读建议:建议读者结合Simulink仿真模型深入理解控制结构与参数整定过程,重点关注ESO的观测性能与扰动补偿机制,并可通过改变负载条件、参数偏差等工况进行鲁棒性测试,进一步掌握该改进策略的核心优势与适用边界。

1,317

社区成员

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

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