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

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

如何利用C++ Builder 5.0 Enterprise 創建用戶自己的網上聊天程序

2019-09-10 09:07:03
字體:
來源:轉載
供稿:網友
如何利用C++ Builder 5.0 Enterprise 創建用戶自己的網上聊天程序
網絡是一個激動人心的領域,編寫網絡上的應用程序更是很多程序員向往的情節,然而編寫網絡程序需要掌握大量的網絡傳輸協議、編程接口和WinSock32 API 函數,正因為如此,要完成從Windows程序員到Web程序員的轉變不是一件易事.最近筆者成功的用C++ Buil--der 5.0 Enterprise 版編寫出了網上聊天程序,特介紹如下:

  一、 原理:網絡聊天工具需要通過TCP/IP協議,因此可以把網絡聊天程序分為服務器端和客戶器端兩部分,其中 服務器端用以把程序轉換成一個虛擬的 TCP/IP 服務器. 并且和指定的客戶機建立連接,在連接成功后,向指定的客戶器發送和接收數據;客戶器端把程序轉換成一個虛擬的TCP/IP 客戶器,并且向指定的服務器發出連接信號,在連接成功后,向指定的服務器發送和接收數據。在C++ Builder 5.0 環境下服務器端和客戶器端的功能分別由TServerSocket控件和TClientSocket 控件加以實現。其中TCP/IP協議以包含在控件的屬性中,因此只要正確填入屬性,便可實現網上通訊。

  二、具體實現:首先`在C++ builder 5.0 環境下建立一個Application ,并保存為Project1。在Form1 上添加如下控件,并設置相關屬性,其中Memo2于顯示對方傳來的信息,其中Memo1用于顯示傳給對方的信息:

控件名稱         屬性         值

TBevel         Caption       Bevel1

TSpeedButton     Caption       SpeedButton1

TMemo         Caption       Memo1

TMemo         Caption       Memo2

TMainMenu       Caption       MainMenu1

TServerSocket     Caption       ServerSocket1

TClientSocket     Caption      ClientSocket1

  同時在 MainMenu1控件中增加 三個菜單項,其屬性為

Name                 Caption  

Connect               連接

Disconncet              斷開

Listin                監聽

  在Unit1 的Private中添加:

    bool   IsServer;

    String  Server;

  在Connect 的Click句柄添加如下代碼:

void __fastcall TForm1::ConnectClick(TObject *Sender)

{

if (ClientSocket1->Active){ ClientSocke1t->Active = false;} // 判斷是否以連接,如連接則斷開連接//

if (InputQuery("Computer to connect to", "添入要連接的機器的IP地址:", Server))

{

   if (Server1.Length() > 0)//判斷用戶是否已經添入//

   {

    ClientSocket-1>Host = Server;//設置要連接的IP地址為用戶指定的IP地址值//

    ClientSocket1->Active = true;//進行連接//

   }

}

}

  在Listen的Click句柄添加如下代碼:

void __fastcall Form1 ::ListenClick(TObject *Sender)

{

Listen->Checked = !Listen->Checked;

if (Listen->Checked)

   ServerSocket1->Active = true;//服務器端監聽來自客戶器斷的信號//

else

  ServerSocket1->Active = false;



}

  在Disconnect 的Click句柄添加如下代碼:

void __fastcall TForm1::ExitClick(TObject *Sender)

{

ServerSocket1->Close();//關閉服務器端//

ClientSocket1->Close();//關閉客戶器端//

Close();

}

  在Memo1 的KeyDown句柄添加如下代碼:

void __fastcall TForm1::Memo1KeyDown(TObject *Sender, WORD &Key,

   TShiftState Shift)

{

if (Key == VK_RETURN)

{

   if (IsServer)

     {ServerSocket->Socket->Connections[0]->SendText(

     Memo1->Lines->Strings[Memo1->Lines->Count - 1]); }//作為服務器一端發送數據//

   else

   { ClientSocket->Socket->SendText(Memo1->Lines->Strings[

    Memo1->Lines->Count -1]);}//作為客戶器一端發送數據//

}

}

  在ClientSocket1的Connect句柄添加如下代碼:

void __fastcall TForm1::ClientSocket1Connect(TObject *Sender , TCustomWinSocke

t *Socket)

{//當用戶和遠程服務器連接成功后,激發該事件//

StatusBar1->Panels->Items[0]->Text = "Connect to: " + Socket->RemoteHost;

}

  在ClientSocket1的Error句柄添加如下代碼:

void __fastcall TForm1::ClientSocket1Error(TObject *Sender,

   TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)

{ //當用戶和遠程服務器連接失敗后,激發該事件//

Memo2->Lines->Add("Error connecting to:" + Server);

ErrorCode = 0;

}

  在ClientSocket1的Read句柄添加如下代碼:

void __fastcall TChatForm::ClientSocket1SeverRead(TObject *Sender, TCustomWinSo

cket *Socket)

{

//當作為客戶器一端讀來自服務器一端的數據時,激發該事件//

Memo2->Lines->Add(Socket->ReceiveText());

}

  在SeverSocket1的ClientRead句柄添加如下代碼

void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender, TCustomWinSocke

t *Socket)

{

//當作為客戶器一端讀來自服務器一端的數據時,激發該事件//

Memo2->Lines->Add(Socket->ReceiveText());

}

在SeverSocket1的Accept句柄添加如下代碼

void __fastcall TForm1::ServerSocket1Accept(TObject *Sender, TCustomWinSocket

*Socket)

{ //當服務器成功的監聽到來自客戶器的信號后,激發該事件//

IsServer = true;

StatusBar1->Panels->Items[0]->Text = "Connect to: " + Socket->RemoteAddress;



}

  在Form1的Create句柄添加如下代碼:

void __fastcall TForm1::Form1Create(TObject *Sender)

{

  IsServer=false;

}

注:“//”為注釋.

  以上程序C++ Builder 5.0Enterprise通過。

  摘自《賽迪網》 孫航東/文
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
黄网动漫久久久| 亚洲片av在线| 欧美剧在线观看| 精品成人久久av| 亚洲精品中文字幕有码专区| 欧美日韩国产二区| 91在线观看免费高清完整版在线观看| 亚洲男人天堂手机在线| 欧美激情奇米色| 伊人伊人伊人久久| 欧美午夜丰满在线18影院| 国产精品视频免费观看www| 欧美日韩综合视频网址| 亚洲女同精品视频| 九九热精品视频在线播放| 96国产粉嫩美女| 国产一区在线播放| 亚洲天堂2020| 91精品国产91久久久久久最新| 中文字幕日韩在线播放| 欧美日产国产成人免费图片| 91色p视频在线| www.国产一区| 国产精品欧美一区二区三区奶水| 97国产真实伦对白精彩视频8| 日韩最新在线视频| 亚洲国产另类 国产精品国产免费| 成人精品久久一区二区三区| 亚洲免费av网址| 国产精品69精品一区二区三区| 欧美综合在线第二页| 亚洲v日韩v综合v精品v| 国语自产精品视频在免费| 日韩在线免费av| 欧美视频国产精品| 欧美一区深夜视频| 中文字幕久热精品视频在线| 在线视频精品一| 国产成人久久久精品一区| 麻豆一区二区在线观看| 在线播放日韩欧美| 日韩欧美国产中文字幕| 伊人av综合网| 55夜色66夜色国产精品视频| 色偷偷9999www| 精品中文视频在线| 欧美极品美女视频网站在线观看免费| 91免费看国产| 亚洲国产精品中文| 国产欧美婷婷中文| 亚洲成人激情在线| 欧美激情国内偷拍| 国产九九精品视频| 久久精品成人欧美大片古装| 精品久久久一区| 97精品国产aⅴ7777| 国产做受69高潮| 5566成人精品视频免费| 91tv亚洲精品香蕉国产一区7ujn| 亚洲国产精品久久久| 国产欧美精品一区二区三区介绍| 日韩第一页在线| 亚洲精品国产精品自产a区红杏吧| 精品夜色国产国偷在线| 欧美老少配视频| 国产精品自拍小视频| 精品亚洲一区二区三区四区五区| 久久青草福利网站| www.精品av.com| 亚洲国产三级网| 久久国产精品免费视频| 欧美精品情趣视频| 午夜精品久久久久久久久久久久| 亚洲国产精品女人久久久| 国产日韩欧美在线观看| 国产成人精品一区二区| 日韩少妇与小伙激情| 欧美肥老太性生活视频| 在线日韩精品视频| 日韩精品免费在线视频观看| 欧美激情网站在线观看| 亚洲风情亚aⅴ在线发布| 久久久久久综合网天天| 欧美野外wwwxxx| 2024亚洲男人天堂| 色综合色综合久久综合频道88| 久久九九精品99国产精品| 91久久久久久久一区二区| 在线看片第一页欧美| 欧美日韩免费网站| 在线观看日韩www视频免费| 亚洲精品资源美女情侣酒店| 久久精品久久久久久| 亚洲999一在线观看www| 亚洲毛片在线观看| 国产成人在线一区二区| 欧美另类69精品久久久久9999| 有码中文亚洲精品| 亚洲精品wwww| 久久久999国产| 国产成人精品久久二区二区| 久久男人资源视频| 美女精品视频一区| 亚洲一二三在线| 色老头一区二区三区| 国产精品自产拍在线观| 一本色道久久综合狠狠躁篇的优点| 欧美韩国理论所午夜片917电影| 韩日欧美一区二区| 日韩成人激情在线| www.美女亚洲精品| 亚洲最新av在线网站| 成人h视频在线| 91在线观看免费网站| 国产精品久久久久77777| 精品国偷自产在线| 国产精品久久久久久五月尺| 日韩精品视频中文在线观看| 欧美午夜美女看片| 一本一本久久a久久精品综合小说| 欧美成人黄色小视频| 中文字幕欧美日韩va免费视频| 91在线网站视频| 久久成年人免费电影| 日韩在线视频线视频免费网站| 国产亚洲精品成人av久久ww| 欧美一级淫片播放口| 97精品免费视频| 亚洲欧洲一区二区三区久久| 久久理论片午夜琪琪电影网| 日韩欧美在线字幕| 欧美激情国产精品| 久99久在线视频| 欧美日韩国产成人| 精品国产欧美一区二区五十路| 97精品欧美一区二区三区| 国产精品91一区| 中文字幕免费精品一区| 亚洲成av人影院在线观看| 亚洲欧美制服丝袜| 亚洲欧美激情视频| 国产精品草莓在线免费观看| 久久99国产精品自在自在app| 国产一级揄自揄精品视频| 成人网页在线免费观看| 欧美激情国内偷拍| 国产欧美亚洲精品| 久久精品青青大伊人av| 青青久久av北条麻妃黑人| 中文字幕亚洲专区| 日韩国产高清污视频在线观看| 精品国产一区二区在线| 国产精品精品久久久久久| 久久99久久99精品中文字幕| 国产精品黄视频| 亚洲成人国产精品| 欧美午夜xxx| 亚洲国产欧美久久| 91久久在线观看| 欧美日韩国产123| 日韩av影院在线观看| 精品视频偷偷看在线观看| 中文字幕av一区| 亚洲一区二区三区乱码aⅴ蜜桃女|