我有个TWSOCKETSERVER的VCL地控件,在TWSOCKETSERVER的OnDataAvailable事件中,我定义了接收UDP数据包,并分析显示在界面上的方法,我的系统在不停地接收UDP的数据报,系统因为数据量大,而定制了响应;
于是我就做了一个简单的线程;TWSocketServer *wss;__fastcall TRealDataThread::TRealDataThread(bool CreateSuspended,TWSocketServer *Sendwss)
: TThread(CreateSuspended)
{
Priority = tpHighest;
FreeOnTerminate = true;
wss = Sendwss;
}
//---------------------------------------------------------------------------
void __fastcall TRealDataThread::Execute()
{
wss->Proto= "udp";
//这个方法就是让我的TWSOCKETSERVER开始接收数据
//WSS就是TWSOCKETSERVER控件,里面已经有了接收数据的代码,不过是
//通过指针传递过来的类,
wss->Listen();
Suspend();
}可是 这样的线程好像没有左右,系统仍然会停止响应。我根本没有办法点击界面上的停止线程的按钮来,也就是说,我这个线程就停不下来了;我怎么能让我的程序不停止响应那;恳请高手指教,我在线等待;
于是我就做了一个简单的线程;TWSocketServer *wss;__fastcall TRealDataThread::TRealDataThread(bool CreateSuspended,TWSocketServer *Sendwss)
: TThread(CreateSuspended)
{
Priority = tpHighest;
FreeOnTerminate = true;
wss = Sendwss;
}
//---------------------------------------------------------------------------
void __fastcall TRealDataThread::Execute()
{
wss->Proto= "udp";
//这个方法就是让我的TWSOCKETSERVER开始接收数据
//WSS就是TWSOCKETSERVER控件,里面已经有了接收数据的代码,不过是
//通过指针传递过来的类,
wss->Listen();
Suspend();
}可是 这样的线程好像没有左右,系统仍然会停止响应。我根本没有办法点击界面上的停止线程的按钮来,也就是说,我这个线程就停不下来了;我怎么能让我的程序不停止响应那;恳请高手指教,我在线等待;
解决方案 »
- RemObjects 客户端 提示 Channel is busy. Try again later.
- 求解释下面的代码
- Win2003闹鬼,Socket可以同时打开两个相同的端口
- TListView 个别行颜色 显示问题
- delphi调用VC的ATL组件传递函数指针的问题!!几天了,郁闷!!
- 启动窗体(闪屏)上有个动画gif见面,采用show时动画不动,而采用ShowModal可以动但是不能自动关闭窗体了,有什么好办法?
- 7好还是6好?
- 求教:这几个字节是什么数据类型啊?谢谢
- 关于在单机上模拟客户/服务器方式的问题!!迷惑???高分求教??
- 急!求 Delphi打印报表代码!
- 怎样判断客户端的日期与服务器的日期一致?
- 简单问题啊..老大门来看(登陆窗体问题)
数据一多,系统一样停止响应的;
还有什么办法吗?
可是关键是,我不知道怎么把接收UDP数据的代码不用控件去实现;有高手指点吗?