CB嶄喘socket api亟利大宥儷殻會
作者 佚名技术
来源 程序设计
浏览
发布时间 2012-06-30
ddr_in)); } else return; } } ListenSocket(); struct sockaddr_in client; int nLength=sizeof(struct sockaddr_in); while(!Terminated){ int nError=select(1,&FDS,0,0,0); if(nError<=0) Terminate(); SOCKET m_AcceptSocket=accept(m_Socket,(struct sockaddr*)&client,&nLength); if(m_AcceptSocket==INVALID_SOCKET){ sprintf(szTmp,"Failed to execute accept,error no:%d",::WSAGetLastError()); ::MessageBox(0,szTmp,"Error",MB_OK+MB_ICONERROR); DoError(); Terminate(); return; } 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();} } 貧中議旗鷹?光了辛功象徭厮議俶勣才寞斤徭厮議哘喘?壓方象侃尖圭中紗參個序祥辛參阻。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: C++Builder调用Matlab下一篇: 用C++Builder获取应用程序图标
关于CB嶄喘socket api亟利大宥儷殻會的所有评论