TCommunication *pCThread=new TCommunication(m_AcceptSocket,FALSE);
pCThread->Terminate();
pCThread->WaitFor();
}
}
//************************PSTNForm*********************************************//
__fastcall TPSTNForm::TPSTNForm(TComponent* Owner)
: TForm(Owner)
{
}
void __fastcall TPSTNForm::Button1Click(TObject *Sender)
{
Close();
}
void __fastcall TPSTNForm::Button2Click(TObject *Sender)
{
if(pThread){
pThread->Suspend();
pThread->Terminate();
delete pThread;
pThread=0;
}
UINT m_Port;
try
{
m_Port=Port->Text.ToInt();
}
catch(Exception &e)
{
::MessageBox(0,e.Message.c_str(),"Error",MB_OK+MB_ICONERROR);
return;
}
PROTO m_Protocol;
switch(Prot->ItemIndex)
{
case 0:
m_Protocol=TCP;
break;
case 1:
m_Protocol=UDP;
break;
default:
break;
}
pThread=new TListenThread(m_Protocol,m_Port,FALSE);
//pThread->Terminate();
}
void __fastcall TPSTNForm::FormCreate(TObject *Sender)
{
::SendMessage(Prot->Handle,CB_SETCURSEL,0,1);
}
void __fastcall TPSTNForm::FormDestroy(TObject *Sender)
{
if(pThread){
pThread->Suspend();
pThread->Terminate();}
}
上面的代码,各位可根据自已的需要和针对自已的应用,在数据处理方面加以改进就可以了。
再次声明,上述代码中出现的file:前缀这是csdn文档编辑器自动加的,各位凡是见到file:前缀就表示它是注释部分,特此声明,以免误解。
责任编辑:小草