




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、在VB中如何使用 Winsock 控件在VB中如何使用 Winsock 控件 在VB中如何使用 Winsock 控件 信息技術論文 更新:2006-4-8 閱讀: 在VB中如何使用 Winsock 控件在VB中如何使用 Winsock 控件摘要:本文介紹如何利用 WinSock 控件可以與遠程計算機建立連接,并通過用戶數(shù)據(jù)文報協(xié)議 (UDP)或者傳輸控制協(xié)議 (TCP)進展數(shù)據(jù)交換,并分別給出Winsock控件使用 UDP 協(xié)議和TCP協(xié)議進展遠程計算機連接的應用實例關鍵詞:VB、控件、協(xié)議1引言11 Winsock 控件可能的用途創(chuàng)立搜集用戶信息的客戶端應用程序,并將搜集的信息發(fā)送到某中央效
2、勞器。創(chuàng)立一個效勞器應用程序,作為多個用戶的數(shù)據(jù)的匯入點。創(chuàng)立“聊天應用程序。12 選擇通訊協(xié)議的標準在使用 WinSock 控件時,首先需要考慮使用什么協(xié)議??梢允褂玫膮f(xié)議包括 TCP 和 UDP。兩種協(xié)議之間的重要區(qū)別在于它們的連接狀態(tài):1、 TCP 協(xié)議控件是基于連接的協(xié)議,可以將它同 系統(tǒng)相比。在開始數(shù)據(jù)傳輸之前,用戶必須先建立連接。2、 UDP 協(xié)議是一種無連接協(xié)議,兩臺計算機之間的傳輸類似于傳遞郵件:消息從一臺計算機發(fā)送到另一臺計算機,但是兩者之間沒有明確的連接。另外,單次傳輸?shù)淖畲髷?shù)據(jù)量取決于詳細的網(wǎng)絡。到底選擇哪一種協(xié)議通常是由需要創(chuàng)立的應用程序決定的。下面的幾個問題將有助于選
3、擇適宜的協(xié)議:在收發(fā)數(shù)據(jù)的時候,應用程序是否需要得到客戶端或者效勞器確實認信息?假設需要,使用 TCP 協(xié)議,在收發(fā)數(shù)據(jù)之前先建立明確的連接。數(shù)據(jù)量是否特別大例如圖象與聲音文件?在連接建立之后,TCP 協(xié)議將維護連接并確保數(shù)據(jù)的完好性。不過,這種連接需要更多的計算資源,因此是比較“昂貴的。數(shù)據(jù)發(fā)送是間歇的,還是在一個會話內?例如,假設應用程序在某個任務完成的時候需要通知某個計算機,UDP 協(xié)議是更適宜的。UDP 協(xié)議適宜發(fā)送少量的數(shù)據(jù)。13 協(xié)議的設置在設計時,可以按如下方式設置應用程序使用的協(xié)議:在“屬性窗口中單擊“協(xié)議,然后選擇 sckTCPProtocol 或者 sckUDPProtoc
4、ol。也可以使用程序代碼來設置 Protocol 屬性,如下所示:Winsock1.Protocol = sckTCPProtocol14 確定計算機的名稱在與遠程計算機相連接的時候,需要知道它的 IP 地址或者它的“計算機名。IP 地址是一串數(shù)字,每三個數(shù)字為一組,中間用點隔開形如 xxx.xxx.xxx.xxx。通常,最易記住的是“計算機名。要確定“計算機名,請按照以下步驟執(zhí)行:1在計算機的“任務欄上,單擊“啟動。2在“設置“項中,單擊“控制面板“。3雙擊“網(wǎng)絡圖標。4單擊“標識選項卡。5在“計算機名稱框中可以找到計算機的名稱。6上面找到的計算機名稱可以作為 RemoteHost 屬性的值
5、。2 Winsock控件使用 TCP 協(xié)議應用實例假設應用程序要使用 TCP 協(xié)議,那么首先必須決定應用程序是效勞器還是客戶端。假設要創(chuàng)立一個效勞器端,那么應用程序需要“監(jiān)聽指定的端口。當客戶端提出連接懇求時,效勞器端可以承受懇求并建立連接。在連接建立之后,客戶端與效勞器端可以自由地互相通訊。以下步驟創(chuàng)立一個非常簡單的效勞器:1 要創(chuàng)立一個 TCP 效勞器,請按照以下步驟執(zhí)行:2 創(chuàng)立新的 Standard EXE 工程。3 將窗體的標題改為“TCP 效勞器。4 在窗體中放入一個 Winsock 控件(c:windowssystemmswinsck.ocx),并將它的名字改為 tcpServe
6、r。5 在窗體上添加兩個 TextBox 控件。將第一個命名為 txtSend,第二個為 txtOutput。為窗體添加如下的代碼。Private Sub Form_Load()'將 LocalPort 屬性設置為一個整數(shù)。'然后調用 Listen 方法。tcpServer.LocalPort = 1001tcpServer.ListenEnd SubPrivate Sub tcpServer_ConnectionRequest (ByVal requestID As Long)'檢查控件的 State 屬性是否為關閉的。'假設不是,'在承受新的連接之前
7、先關閉此連接。If tcpServer.State sckClosed Then _tcpServer.Close'承受具有 requestID 參數(shù)的'連接。tcpServer.Accept requestIDEnd SubPrivate Sub txtSend_Change()'名為 txtSend 的 TextBox 控件中'包含了要發(fā)送的數(shù)據(jù)。當用戶往文本框中'鍵入數(shù)據(jù)時,使用 SendData 方法'發(fā)送輸入的字符串。tcpServer.SendData txtSend.TextEnd SubPrivate Sub tcpServer_
8、DataArrival (ByVal bytesTotal As Long)'為進入的數(shù)據(jù)聲明一個變量。'調用 GetData 方法,并將數(shù)據(jù)賦予名為 txtOutput 的 TextBox 的 Text 屬性。Dim strData As StringtcpServer.GetData strDatatxtOutput.Text = strDataEnd Sub上面的步驟創(chuàng)立了一個簡單的效勞器應用程序。為了使它可以工作,還必須為它創(chuàng)立一個客戶端的應用程序。要創(chuàng)立 TCP 客戶端,請按照以下步驟執(zhí)行:1 在工程中添加一個新的窗體。2 將窗體的標題改為“TCP Client。3
9、在窗體中添加一個 Winsock 控件,并將其命名為 tcpClient。4 在 frmClient 中添加兩個 TextBox 控件。將第一個命名為 txtSend,第二個為 txtOutput。5 在窗體上放一個 CommandButton 控件,并將其命名為 cmdConnect。6 將 CommandButton 控件的標題改為 Connect。在窗體中添加如下的代碼。 注意:必須將 RemoteHost 屬性值修改為您的計算機的名字。Private Sub Form_Load()'Winsock 控件的名字為 tcpClient。'注意:要指定遠程主機,可以使用' IP 地址例如:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 主體水電合同范本
- 參數(shù)設計合同范本
- 租賃會議室合同范本
- 冬儲保價合同范本
- 轉讓精裝修房產(chǎn)合同范本
- 合同范本與格式合同區(qū)別
- 鋁合金分銷合同范本
- 吧臺轉讓合同范本
- 廠內工程裝修合同范本
- 倉庫燈具回收合同范例
- 2023年山東化工職業(yè)學院單招綜合素質考試筆試題庫及答案解析
- 廣東省廣州市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名明細及行政區(qū)劃代碼
- 綠化移植施工方案及技術措施
- 江蘇省三級綜合醫(yī)院評審標準實施細則2017版
- 貴州區(qū)域地質地史概述
- 監(jiān)理大綱維修改造項目
- 中國著名的塔課件
- 邢臺市區(qū)土地級別及基準地價表
- 李小建《經(jīng)濟地理學》(電子版)
- 中央空調安裝施工組織設計方案(水、多聯(lián)機)
- 2022年最新蘇教版五年級下冊科學全冊教案
評論
0/150
提交評論