设为首页 加入收藏

TOP

C++Builder中用socketapi来写网络通讯程序(2)
2014-11-18 20:12:43 】 浏览:5297
Tags:Builder 中用 socketapi 网络通讯 程序

  //******************************CLASS TCommunication For TCP****************************************************


  __fastcall TCommunication::TCommunication(SOCKET m_Socket,bool CreateSuspended):TThread(FALSE)


  {


  m_AcceptSocket=m_Socket;


  szTmp[0]='\0';


  FreeOnTerminate=true;


  }


  __fastcall TCommunication::~TCommunication()


  {


  // closesocket(m_AcceptSocket);


  }


  void __fastcall TCommunication::Execute()


  {


  char buf[4096];


  int nSize=0;


  nSize=recv(m_AcceptSocket,(char FAR*)buf,4096,0);


  if(nSize>0)


  {


  buf[nSize]='\0';


  //Display


  PSTNForm->Memo1->Lines->Add("Received Length:"+String(nSize));


  PSTNForm->Memo1->Lines->Add("Received:"+StrPas(buf));


  //Deliver


  ::Sleep(100);


  send(m_AcceptSocket,buf,nSize,0);


  }


  }


  //******************************CLASS TListenThread*****************************************************


  __fastcall TListenThread::TListenThread(PROTO m_ProtocolA,UINT m_PortA,bool CreateSuspended):TThread(FALSE)


  {


  m_Socket=INVALID_SOCKET;


  m_Port=m_PortA;


  m_Protocol=m_ProtocolA;


  szTmp[0]='\0';


  ::ZeroMemory(&wsaData,sizeof(WSAData));


  ::ZeroMemory(&server,sizeof(struct sockaddr_in));


  FreeOnTerminate=TRUE;//Automatically delete while terminating.


  }


  __fastcall TListenThread::~TListenThread()


  {


  closesocket(m_Socket);


  ::WSACleanup();


  m_Socket=INVALID_SOCKET;


  m_Port=0;


  m_Protocol=TCP;


  szTmp[0]='\0';


  ::ZeroMemory(&wsaData,sizeof(WSAData));


  ::ZeroMemory(&server,sizeof(struct sockaddr_in));


  }


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C++Builder中用socketapi来写网络.. 下一篇VisualC++很简单的木马代码

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目