亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

在CB中用socket api來寫網絡通訊程序

2019-11-17 05:28:49
字體:
來源:轉載
供稿:網友

  本文轉自csdn,作者:kingcaiyao
原標題:在C++ Builder中用socket api來寫網絡通訊程序(同時支持TCP和UDP協議)
原文:  http://www.csdn.net/develop/read_article.asp?id=19883


在7月4日看完sockcomp.pas后,我決定用socket api來寫一個客戶端和服務器并且同時支持TCP,UDP協議,于是我就去做,現將代碼貼出來(已調試通過)
Socket api Client:

#ifndef UDPClientH
#define UDPClientH
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <stdio.h>
#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 <vcl.h>
#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);
               }
               break;
            case UDP:
               nLen=recvfrom(m_Socket,buf,4096,0,(struct sockaddr*)&from,&nLength);
               if(nLen>0){
                  buf[nLen]='/0';
                  TxtEdit->Text="Received Length:"+String(nLen)+"/r/n"+StrPas(buf);
               }
               break;
         }
         break;
      case FD_CLOSE:
         closesocket(m_Socket);
         break;
   }
}

void __fastcall TLANForm::Button1Click(TObject *Sender)
{
   char szTmp[256],buf[4096];
   int nSize=0;
   UINT m_Port;
   AnsiString addr;
   addr=Addr->Text.Trim();
   if(addr.IsEmpty()){
      ::MessageBox(0,"Please enter the server ip!","Error",MB_OK+MB_ICONERROR);

      return;
   }
   unsigned long nAddr=inet_addr(addr.c_str());
   if(nAddr==INADDR_NONE){
      ::MessageBox(0,"Bad Internet IP!","Error",MB_OK+MB_ICONERROR);
      return;}

   try
   {
      m_Port=Port->Text.ToInt();
   }
   catch(Exception &e)
   {
      ::MessageBox(0,e.Message.c_str(),"Error",MB_OK+MB_ICONERROR);
      return;
   }
   switch(Prot->ItemIndex)
   {
      case 0:
         m_Protocol=TCP;
         break;
      case 1:
         m_Protocol=UDP;
         break;
   }
   if(TxtEdit->Text.IsEmpty()){
      ::MessageBox(0,"Please enter the text you want to send!","Error",MB_OK+MB_ICONERROR);
      return;}

   //Initialize Winsocket
   WSAData wsaData;
   ::ZeroMemory(&wsaData,sizeof(WSAData));
   Word version=MAKEWORD(2,0);
   if(::WSAStartup(version,&wsaData)){
      sprintf(szTmp,"Failed to initial winsock enviroment!,error no:%d",::WSAGetLastError());
      return;}

   //OBTain the active connection
   char ComputerName[255];
   gethostname(ComputerName,255);
   struct hostent* he=gethostbyname(ComputerName);

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩电影中文字幕在线观看| 日韩视频在线免费观看| 国产一区二区av| 日韩有码片在线观看| 国产成人精品在线播放| 少妇av一区二区三区| 亚洲人精品午夜在线观看| 亚洲男人天堂2024| 精品国产乱码久久久久久虫虫漫画| 欧美性猛交xxxx乱大交极品| 国产亚洲一级高清| 日韩av成人在线观看| 久久久久久97| 国产日韩欧美在线视频观看| 国产美女精品视频免费观看| 欧美性生交大片免网| 日本高清+成人网在线观看| 精品久久久久国产| 菠萝蜜影院一区二区免费| 欧美成aaa人片在线观看蜜臀| 亚洲图片制服诱惑| 亚洲午夜未删减在线观看| 中文字幕欧美在线| 爱福利视频一区| 中文字幕久热精品在线视频| 动漫精品一区二区| 久久久久久久一区二区三区| 综合国产在线观看| 国产精品高潮在线| 国产成人精品久久久| 国产精品麻豆va在线播放| 欧美在线观看日本一区| 欧美超级免费视 在线| 亚洲天堂男人天堂| 国产成人aa精品一区在线播放| 精品国产一区二区三区久久久狼| 国产国产精品人在线视| 中文字幕在线成人| 久久九九亚洲综合| 国产日韩精品综合网站| 成人中文字幕+乱码+中文字幕| 中文字幕亚洲欧美一区二区三区| 久久精品中文字幕| 亚洲精品久久久久中文字幕二区| 亚洲女人天堂视频| 欧美成人自拍视频| xxx一区二区| 永久免费毛片在线播放不卡| 91色精品视频在线| 国产精品黄色影片导航在线观看| 奇门遁甲1982国语版免费观看高清| 亚洲人午夜精品免费| 欧美极品少妇xxxxⅹ裸体艺术| 精品久久久久久久大神国产| 欧美—级高清免费播放| 一区二区三区日韩在线| 国产精品日韩一区| 欧美日韩国产精品一区二区三区四区| 久久精品视频在线观看| 亚洲娇小xxxx欧美娇小| 精品久久久久久久久久久久| 一本大道香蕉久在线播放29| 国产精品久久不能| 97国产精品久久| 日韩成人在线电影网| 色综合视频一区中文字幕| 亚洲视频axxx| 欧美日韩美女视频| 久久综合伊人77777| 久久99热这里只有精品国产| 精品视频—区二区三区免费| 亚洲a一级视频| 国产欧美在线观看| 国产噜噜噜噜噜久久久久久久久| 国产成人涩涩涩视频在线观看| 北条麻妃在线一区二区| 国产在线拍揄自揄视频不卡99| 日韩毛片在线观看| 7777精品视频| 成人综合网网址| 亚洲美女中文字幕| 国产视频亚洲视频| 91精品久久久久久久久久| 欧美精品在线极品| 成人午夜高潮视频| 一本色道久久88精品综合| 日韩电视剧在线观看免费网站| 国产ts人妖一区二区三区| 91成人天堂久久成人| 日韩精品视频免费在线观看| 国产色综合天天综合网| 色妞久久福利网| 欧美有码在线视频| 亚洲高清免费观看高清完整版| 亚洲欧美视频在线| 日韩av在线一区二区| 国产精品99久久久久久人| 国产精品一久久香蕉国产线看观看| 亚洲精品视频在线播放| 韩国v欧美v日本v亚洲| 日韩视频精品在线| 亚洲热线99精品视频| 色哟哟网站入口亚洲精品| 日韩美女免费视频| 国产精品第三页| 91亚洲va在线va天堂va国| 成人国产精品av| 久久综合伊人77777蜜臀| 亚洲色图综合久久| 国产精品揄拍一区二区| 国产一区二区三区直播精品电影| 国产v综合ⅴ日韩v欧美大片| 97人洗澡人人免费公开视频碰碰碰| 狠狠躁夜夜躁人人躁婷婷91| 日韩久久免费视频| 亚洲国产精品免费| 欧美日本啪啪无遮挡网站| 91免费在线视频网站| 91精品国产综合久久久久久蜜臀| 岛国视频午夜一区免费在线观看| 26uuu日韩精品一区二区| 在线视频日韩精品| 亚洲国产精品人久久电影| 国产美女久久精品| 国产欧美精品久久久| 亚洲欧美国产日韩中文字幕| 97热在线精品视频在线观看| 欧美视频在线观看免费| 国产精品日韩久久久久| 亚洲新声在线观看| 九九九久久久久久| 91在线高清视频| 九九热这里只有精品6| 成人亚洲激情网| 一区二区欧美激情| 精品久久久久久中文字幕| 26uuu另类亚洲欧美日本老年| 日本久久久久亚洲中字幕| 国产精品自拍小视频| 韩剧1988在线观看免费完整版| 国产欧美精品日韩精品| 久久久999精品免费| 成人444kkkk在线观看| 欧美精品在线视频观看| 久久精品亚洲一区| 97成人精品区在线播放| 日韩欧美国产一区二区| 亚洲精品免费在线视频| 国产日韩精品电影| 2023亚洲男人天堂| 日韩在线欧美在线| 尤物yw午夜国产精品视频明星| 久久免费福利视频| 亚洲级视频在线观看免费1级| 欧美激情综合亚洲一二区| 伊人伊人伊人久久| 亚洲精品第一国产综合精品| 中文字幕视频在线免费欧美日韩综合在线看| 亚洲影影院av| 亚洲图片在线综合| 日日骚久久av| 久久久久久久久久久久av| 亚洲一区二区精品| 久久久久久香蕉网|