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

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

TServerSocket和TClientSocket的使用

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

  在網絡編程中,WinSocket API編程是最基本,也是最麻煩的地方(說句不怕影響形象的話,我對此就是一知半解)。但是,假如你是使用C++Builder作為編程平臺,你就偷著樂吧,有了BCB,菜鳥變高手!:-)

在BCB中,TServerSocket和TClientSocket涵蓋了基本的WinSocket編程,其中TServerSocket作為服務器方使用,TClientSocket作為客戶端使用,這兩個組件本身并不提供Socket連接,但是他們都有一個Socket屬性,這個屬性才提供了Socket連接。下面就先向大家介紹一下這兩個組件常用的方法屬性,然后在通過一個例子來看看這兩個組件的使用。
1)TServerSocket
名稱          類型             說明
Socket     TServerWinSocket 最重要的屬性,提供Socket連接,事實上發送/接收數據都要靠這個屬性.
Port       int              要監聽的端口,假如在Service屬性中指定了服務類型,此屬性將被忽略.
Service    AnsiString       提供的服務,如HTTP、FTP等,假如在這里指定了服務類型,
                            Port將被忽略,因為各種服務都有特定的端口,如FTP:21、HTTP:80
ServerType TServerType      設置與客戶連接的方式,取值為兩個枚舉常量stNonBlocking和
                            stThreadBlocking,stNonBlocking表示用非阻塞方式連接每一個客戶
                            每個連接都在一個單獨的線程中處理。并用OnClientRead()和
                            OnClientWrite()通知服務器端的Socker進行讀寫。stThreadBlocking
                            表示以阻塞方式連接客戶,即以主動查詢的方式可客戶連接。
Active     bool             激活服務,相當于調用Open()方法。

OnAccept事件當有客戶請求連接時觸發
OnClientRead事件通知服務器去讀取有關信息。OnClientWrite與此類似。

2)TClientSocket
名稱        類型               說明
Socket      TClientWinSocket  同TServerSocket
Active      bool              同TServerSocket

Address     AnsiString        服務器的ip地址,如202.98.35.14
ClientType  TClientType       與服務器連接方式,取值為兩個枚舉常量ctNonBlocking,tBlocking。
                              ctNonBlocking表示非阻塞方式,ctBlocking表示阻塞方式,詳見上例。
Host        AnsiString        要連接的主機名,如www.cpcw.com
Port        int               同TServerSocket
Service     AnsiString        同TServerSocket

OnConnect事件當連接時發生,OnConnecting、OnDisConnect與此類似
OnRead事件通知客戶機去讀取有關信息。OnWrite與此類似。

TServerSocket和TClientSocket只提供基本的服務器/客戶機的連接,真正提供數據傳輸的是它們都有的屬性Socket,它的類型分別是TServerWinSocket和TClientWinSocket,而TServerWinSocket和TClientWinSocket的父類都是TCustomWinSocket,下面我們就來看看TServerWinSocket和TClientWinSocket常用的屬性和方法。

共同的屬性方法(來源于TCustomWinSocket)
名稱          類型          說明
Connected      bool         檢查是否連接成功
LocalAddress   AnsiString   本地IP地址,與此類似LocalHost:本機域名,LocalPort:本機端口
RemoteAddress  AnsiString   另一端的IP地址,與此類似RemoteHost:另一端域名,
                            RemotePort:另一端端口
SocketHandle   int          只讀,返回Socket對象的Windows句柄,調用WinSocket API函數會用到它。
Handle         HWND         Socket能夠接受到的異步事件都是以Windows消息的形式發送給此句柄的。

Close()方法作為服務器,關閉所有連接;作為客戶機,關閉自己與服務器的連接
SendText(AnsiString)方法發送一個字符串,
SendBuf(void* buff,int count)發送緩沖區buff中的count個字節,返回實際發送的字節數
SendStream(TStream* AStream)發送一個流到Socket中。
ReceiveText()從Socket中讀取并返回一個字符串。
ReceiveLength()從Socket讀取數據需多少字節的緩沖區。
ReceiveBuf(void* buff,int count)從Socket中讀取count字節的數據到buff。

TClientWinSocket
TClientWinSocket只增加了一個ClientType屬性,
用于決定與服務器的連接類型(參見TClientSocket->ClientType)。

TServerWinSocket


名稱              類型說明
ServerType       服務類型,參見TServerSocket->ServerType。
ActiveConnection  int只讀,返回當前活動的連接數。
Connection        TCustomWinSocket數組,索引n表示第n+1個連接,如Connection[0]表示第一個連接。

有了這些知識,我們就可以完成一些基本的WinSocket編程了,下面就結合一個簡單的閑聊程序來看看具體的應用。
首先在窗體上放置以下VCL組件,并修改相應屬性:
類型              Name          屬性        Caption/Text        說明
TCheckBox      ckListen    監聽當選取時,本程序作為服務器
TCheckBox      ckConnect   連接當選取時,本程序作為客戶機
TEdit          edName      無名氏閑聊時所用的名字。
TBitBTn        bbtSave&S   保存單擊時保存談話內容
TBitBtn        bbtClose&C  關閉單擊時關閉此窗口(設置Kind=bkClose)
TEdit          edTalk     在此輸入談話內容
TMemo   &nb

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97香蕉久久夜色精品国产| 日韩av影视在线| 欧美亚洲国产精品| 精品日本高清在线播放| 亚洲aa中文字幕| 欧美午夜电影在线| 亚洲人成网站色ww在线| 中文字幕欧美日韩在线| 精品久久久久久久久国产字幕| 亚洲专区国产精品| 亚洲三级 欧美三级| 在线亚洲午夜片av大片| 欧美日韩成人在线视频| 国产精品99久久久久久久久久久久| 亚洲一区二区三区视频播放| 中文字幕亚洲综合久久筱田步美| 欧美亚洲视频在线观看| 亚洲一级黄色片| 日韩在线观看免费网站| 亚洲www永久成人夜色| 欧美在线观看www| 91色视频在线观看| 最好看的2019年中文视频| 欧美激情精品久久久久久变态| 欧美福利在线观看| 91探花福利精品国产自产在线| 亚洲国产精久久久久久久| 欧美日韩一区免费| 日韩免费在线免费观看| 欧美专区第一页| 欧美激情欧美激情在线五月| 久久好看免费视频| 亚洲情综合五月天| 成人日韩在线电影| 伊人久久久久久久久久| 国产成人免费av电影| 91欧美精品午夜性色福利在线| 欧美性xxxxx极品娇小| 蜜月aⅴ免费一区二区三区| 精品亚洲一区二区三区在线观看| 91国在线精品国内播放| 国产精品三级在线| 国产日产久久高清欧美一区| 中文字幕久久久av一区| 久久综合免费视频影院| 日韩中文字幕视频在线观看| 日本不卡免费高清视频| 日韩在线视频播放| 91免费国产视频| 蜜臀久久99精品久久久久久宅男| 日韩国产精品视频| 久久成人人人人精品欧| 久久久国产精品亚洲一区| 亚洲欧美精品中文字幕在线| 日韩专区在线播放| 欧美另类在线播放| 自拍视频国产精品| 九九视频这里只有精品| 国产精品18久久久久久首页狼| 欧美一级淫片videoshd| 久久久91精品国产| 国产精品igao视频| 日韩视频在线免费观看| 日韩av在线免播放器| 久久艹在线视频| 欧美资源在线观看| 国产精品99久久99久久久二8| 成人黄色中文字幕| 亚洲影视中文字幕| 国产亚洲精品久久久久久777| 久久视频在线看| 国内精品久久久久久久久| 精品欧美aⅴ在线网站| 超在线视频97| 亚洲国产精品va| 日韩中文在线中文网在线观看| 亚洲一区二区久久久| 国内精久久久久久久久久人| 亚洲国产天堂网精品网站| 91精品久久久久久久久久久久久久| 国产精品久久久久久超碰| 国产精品9999| 欧美中文字幕在线观看| 亚洲美女av在线| 国产日韩在线精品av| 成人在线一区二区| 日韩高清电影免费观看完整| 国产乱人伦真实精品视频| 狠狠做深爱婷婷久久综合一区| 国产精品自产拍在线观看| 精品久久中文字幕久久av| 亚洲精品电影网| 91av免费观看91av精品在线| 久久视频这里只有精品| 精品无码久久久久久国产| 久热在线中文字幕色999舞| 91精品国产综合久久香蕉922| 成年人精品视频| 色诱女教师一区二区三区| 欧美亚洲视频在线观看| 国产伊人精品在线| 日韩欧美主播在线| 久久精品91久久久久久再现| 成人精品在线观看| 国产精品入口尤物| 国产精品黄色影片导航在线观看| 欧美一级在线亚洲天堂| 久久久精品免费| 欧美激情a∨在线视频播放| 欧美国产欧美亚洲国产日韩mv天天看完整| 日韩欧美aⅴ综合网站发布| 欧美激情亚洲自拍| 精品久久久91| 欧美福利视频网站| 91亚洲va在线va天堂va国| 亚洲在线视频福利| 欧美激情高清视频| 亚洲国产欧美一区二区丝袜黑人| 久久夜色撩人精品| 亚洲图片欧洲图片av| 欧美精品在线播放| 国产亚洲精品久久| 日本sm极度另类视频| 宅男66日本亚洲欧美视频| 好吊成人免视频| 久久久久久久久久久免费| 亚洲精品美女久久久| 午夜精品一区二区三区在线播放| 亚洲精品在线不卡| 成人国产精品久久久久久亚洲| 国产在线拍偷自揄拍精品| 欧美在线视频导航| 亚洲网址你懂得| 亚洲国产女人aaa毛片在线| 8x海外华人永久免费日韩内陆视频| 欧美日韩免费在线| 91精品国产91久久久久福利| 精品久久中文字幕久久av| 国产精品久久久久久久久影视| 亚洲欧美日本另类| 欧美一级高清免费| 亚洲老板91色精品久久| 亚洲精品综合久久中文字幕| 欧美黑人极品猛少妇色xxxxx| 精品成人乱色一区二区| 日韩二区三区在线| 日韩精品久久久久| 亚洲一区二区免费在线| 国产精品成人免费电影| 欧美国产日产韩国视频| 在线亚洲国产精品网| 91香蕉电影院| 亚洲国产精品va在线观看黑人| 国产欧美欧洲在线观看| 影音先锋日韩有码| 欧美在线激情网| 亚洲精品福利在线| 亚洲石原莉奈一区二区在线观看| 精品久久久久久亚洲国产300| 97成人超碰免| 国产精品亚洲视频在线观看| 国产亚洲精品成人av久久ww| 日韩在线视频中文字幕| 成人精品视频久久久久|