Winsock控件基礎(chǔ)VB0_第1頁
Winsock控件基礎(chǔ)VB0_第2頁
Winsock控件基礎(chǔ)VB0_第3頁
Winsock控件基礎(chǔ)VB0_第4頁
Winsock控件基礎(chǔ)VB0_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Winsock控件基礎(chǔ)(VB6.0)1Winsock控件基礎(chǔ)Winsock控件在程序設(shè)計(jì)時(shí),看不到這個(gè)控件顯現(xiàn)在執(zhí)行的窗體之中,但是它可以提供有關(guān)網(wǎng)絡(luò)通訊方面的程序設(shè)計(jì)依據(jù)。此外,在這個(gè)控件的使用上,您可以非常容易地要求控件為您調(diào)用TCP或是UDP網(wǎng)絡(luò)服務(wù)的功能。因此,當(dāng)您在編寫有關(guān)住從式架構(gòu)的應(yīng)用程序時(shí),您可以不需要了解TCP通訊協(xié)議或是低級(jí)的Winsockapi調(diào)用方式。通常,以筆者的經(jīng)驗(yàn),除了必須與標(biāo)準(zhǔn)通訊協(xié)議進(jìn)行互動(dòng)外,僅僅是進(jìn)行一般性相互通訊、交換數(shù)據(jù)時(shí),Winsock控件可以滿足您的要求。因此您可以非常容易地通過屬性的設(shè)置以及控制方法的調(diào)用,與遠(yuǎn)程的設(shè)備進(jìn)行連接并且相互交換信息。關(guān)

2、于這些應(yīng)用方面以及調(diào)用方式,筆者將在接下的探索中,慢慢地研究Winsock的應(yīng)用方式。1-1TCP基礎(chǔ)不論是在Internet或是Internet網(wǎng)絡(luò)之中,以目前流行的趨勢(shì),多半都會(huì)使用TCP協(xié)議來進(jìn)行遠(yuǎn)程設(shè)備的連接。TCP協(xié)議的全名為“傳輸控制協(xié)議(transfercontrolprotocol)”,這是一種在Internet上使用的主要協(xié)議,例如http,ftp,smtp等,都是屬于這個(gè)中面向連接的協(xié)議。因此,當(dāng)您使用TCP協(xié)議連接兩個(gè)網(wǎng)絡(luò)上的設(shè)備時(shí),將可以在它們之間交換希望交換的數(shù)據(jù)。同時(shí),如果您開發(fā)的應(yīng)用程序?qū)儆谥鲝氖綉?yīng)用架構(gòu)(或是n-tear(多層次)應(yīng)用系統(tǒng)時(shí),將必須要知道應(yīng)用系統(tǒng)

3、主機(jī)的ip地址(利用RemoteHost屬于取得)以及連接端口號(hào)(利用remoteport屬于取得)在這些數(shù)據(jù)完全備齊之后,您才可以進(jìn)行進(jìn)一步的調(diào)用、連接。因此,如果正在建立主機(jī)端應(yīng)用程序時(shí),必須指定本機(jī),必須指定本機(jī)(執(zhí)行應(yīng)用程序所在的計(jì)算機(jī))所用的連接端口號(hào)(localport屬于),接著將Winsock控件設(shè)置為“監(jiān)聽(listen)”,即可等候遠(yuǎn)程客戶端進(jìn)行調(diào)用與連接。因此,當(dāng)主機(jī)端接收到客戶端調(diào)用并且要求連接的信息時(shí),將會(huì)觸發(fā)“要求連接()”的事件,接著進(jìn)行標(biāo)準(zhǔn)“允許”或是“拒絕”的程序。一旦主機(jī)端與客戶端連接完成之后,您將可以開始使用“傳送數(shù)據(jù)(senddata)”方法,將數(shù)據(jù)傳送

4、給對(duì)方,并且利用“傳送完成(sendcomplete)”事件,來檢測(cè)數(shù)據(jù)是否傳送完畢。同時(shí),在數(shù)據(jù)傳達(dá)對(duì)方的計(jì)算機(jī)時(shí),將會(huì)觸發(fā)對(duì)方計(jì)算的“接收數(shù)據(jù)(dataarrival)”事件。此時(shí),您可以使用“取得數(shù)據(jù)(getdata)”方法,來去出這些接收到的數(shù)據(jù)。上述的程序?qū)⒅芏鴱?fù)始地發(fā)生,直到發(fā)生“中斷連接(closed)”事件或是不正常斷線為止。這種連接與數(shù)據(jù)傳輸?shù)姆绞?,則是屬于Winsock控件TCP協(xié)議的運(yùn)行特色。圖1-1所示為使用TCP連接的運(yùn)行模式1-2UDP基礎(chǔ)相對(duì)于TCP面向連接的協(xié)議則是屬于UDP非面向連接協(xié)議,UDP協(xié)議的全名是“用戶數(shù)據(jù)報(bào)協(xié)議(userdatagramprotoc

5、ol)”,其運(yùn)行方式明顯與TCP協(xié)議有所不同。一般來說,使用UDP協(xié)議并沒有所謂的主機(jī)端或是客戶端的限制,您可以依據(jù)需求任意對(duì)調(diào)用主機(jī)端與客戶端的角色。因此,在數(shù)據(jù)傳輸之前,您必須要先設(shè)置好本機(jī)端所使用的連接端口(localport屬于所指定的)。因此,在本機(jī)上必須設(shè)置遠(yuǎn)方主機(jī)的ip地址(RemoteHost屬性所指定的)以及連接端口號(hào)(remoteport),并且使用這個(gè)屬性的內(nèi)容與遠(yuǎn)程設(shè)備進(jìn)行連接。相對(duì)的,遠(yuǎn)程主機(jī)的本機(jī)連接端口則為調(diào)用端的遠(yuǎn)程連接端口號(hào),而遠(yuǎn)程主機(jī)的“遠(yuǎn)程主機(jī)ip地址(RemoteHost屬性)”則為調(diào)用端的本機(jī)ip地址。為了讓您可以對(duì)UDP協(xié)議有更清楚的了解,請(qǐng)參照下面的圖:在完成連接之后,即可通過連接到遠(yuǎn)程的連接端口,使用senddata方法,將數(shù)據(jù)傳送到遠(yuǎn)程的主機(jī)上。遠(yuǎn)程的主機(jī)一旦接收到數(shù)據(jù),將會(huì)立即觸發(fā)dataarrival事件,此時(shí)您可

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論