设为首页 加入收藏

TOP

C++Builder中用socketapi来写网络通讯程序(1)
2014-11-18 20:28:39 】 浏览:6953
Tags:Builder 中用 socketapi 网络通讯 程序

  Socket api Client:


  #ifndef UDPClientH


  #define UDPClientH


  #include


  #include


  #include


  #include


  #include


  #include "CCEdit.h"


  #define WM_SOCK WM_USER+100


  class TLANForm : public TForm


  {


  __published: // IDE-managed Components


  TEdit *Port;


  TLabel *Label1;


  TLabel *Label2;


  TComboBox *Prot;


  TButton *Button1;


  TLabel *Label3;


  TEdit *Addr;


  TCCEdit *TxtEdit;


  void __fastcall FormCreate(TObject *Sender);


  void __fastcall Button1Click(TObject *Sender);


  void __fastcall FormDestroy(TObject *Sender);


  private: // User declarations


  void __fastcall OnRecv(TMessage &Message);


  public: // User declarations


  __fastcall TLANForm(TComponent* Owner);


  BEGIN_MESSAGE_MAP


  VCL_MESSAGE_HANDLER(WM_SOCK,TMessage,OnRecv);


  END_MESSAGE_MAP(TForm);


  };


  extern PACKAGE TLANForm *LANForm;


  #endif


  .cpp File


  #include


  #pragma hdrstop


  #include "UDPClient.h"


  #include "WinSock.h"


  #pragma package(smart_init)


  #pragma link "CCEdit"


  #pragma resource "*.dfm"


  TLANForm *LANForm;


  enum PROTO {TCP=0,UDP=1};


  SOCKET m_Socket=INVALID_SOCKET;


  PROTO m_Protocol=TCP;


  __fastcall TLANForm::TLANForm(TComponent* Owner)


  : TForm(Owner)


  {


  }


  void __fastcall TLANForm::FormCreate(TObject *Sender)


  {


  ::SendMessage(Prot->Handle,CB_SETCURSEL,0,0);


  }


  void __fastcall TLANForm::OnRecv(TMessage &Message)


  {


  char buf[4096];


  int nLen;


  struct sockaddr_in from;


  int nLength=sizeof(struct sockaddr_in);


  switch(WSAGETSELECTEVENT(Message.LParam))


  {


  case FD_READ:


  switch(m_Protocol)


  {


  case TCP:


  nLen=recv(m_Socket,buf,4096,0);


  if(nLen>0){


  buf[nLen]='\0';


  TxtEdit->Text="Received Length:"+String(nLen)+"\r\n"+StrPas(buf);


  }


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇计算机二级辅导:API函数大全(2) 下一篇C++Builder中用socketapi来写网络..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目