用VB創(chuàng)建自己的通信程序

字號(hào):

Winsock控件建立在TCP、UDP的協(xié)議基礎(chǔ)上,以完成計(jì)算機(jī)網(wǎng)絡(luò)間的通信。下面將詳細(xì)的介紹具體的程序創(chuàng)建過程,以便使大家更好的理解程序的源代碼。
    服務(wù)器端程序的運(yùn)行過程是:
    (1)服務(wù)器端要設(shè)置好偵聽端口即LocalPort屬性,作為偵聽端口的值必須是一個(gè)整數(shù)(一定要是其它TCP/IP應(yīng)用程序沒有用過的值,并且不能與系統(tǒng)缺省端口沖突)。
    (2)用Listen方法進(jìn)入偵聽狀態(tài),等待客戶機(jī)的連接請求。
    (3)當(dāng)客戶機(jī)發(fā)出連接請求時(shí),使服務(wù)器產(chǎn)生一個(gè)ConnectionRequest事件,且該事件得到一個(gè)參數(shù)equestID。
    (4)服務(wù)器程序用Accept方法接受客戶機(jī)requestID請求。這樣,服務(wù)器程序便可以用SendData方法來發(fā)送數(shù)據(jù)了。但是,Accept方法必須用上一個(gè)步得到的requestID作為其參數(shù)。
    (5)當(dāng)服務(wù)器程序接收到數(shù)據(jù)時(shí),便會(huì)產(chǎn)生一個(gè)DataArrial事件,參數(shù)BytesTotal包含接收到的數(shù)據(jù)字節(jié)數(shù)。在該事件中,可以用GetData方法接收數(shù)據(jù)。
    (6)如果接收到Close事件,則用Close方法關(guān)閉TCP/IP連接。
     客戶機(jī)的程序的運(yùn)行過程是:
    (1)在客戶程序中設(shè)置Remmotehost屬性,以便指定運(yùn)行服務(wù)器程序的主機(jī)名,該字符串可以在服務(wù)器“ 控制面板 網(wǎng)絡(luò) 標(biāo)識(shí) 計(jì)算機(jī)”中查到。
    (2)設(shè)置RemotePort屬性,以便指定服務(wù)器程序的偵聽端口(其設(shè)置方法與服務(wù)器端類似)。
    (3)使用Connect方法,向服務(wù)器提出連接請求。
    (4)當(dāng)服務(wù)器程序接受到客戶機(jī)程序的請求后,客戶機(jī)程序產(chǎn)生Connect事件,就可以用SendData方法發(fā)送數(shù)據(jù)了。
    (5)當(dāng)客戶機(jī)程序接收到數(shù)據(jù)時(shí),便會(huì)產(chǎn)生DataArrival事件,參數(shù)BytesTotal包含接收到的數(shù)據(jù)字節(jié)數(shù)。類似的在該事件中也可以用GetData方法接收數(shù)據(jù)。
    (6)如果客戶機(jī)程序接收到Close,則用Close方法關(guān)閉連接。
    使用說明:
    本程序?qū)崿F(xiàn)了兩臺(tái)計(jì)算機(jī)之間的自由通信。先將編譯好的程序分別放入兩臺(tái)已聯(lián)網(wǎng)的計(jì)算機(jī)的 開始 啟動(dòng) 中,這樣每次啟動(dòng)時(shí),程序?qū)?huì)自動(dòng)運(yùn)行,程序啟動(dòng)時(shí)將以最小化的形式出現(xiàn)在任務(wù)欄中,當(dāng)用戶使用時(shí)可以通過點(diǎn)擊任務(wù)欄上的該程序圖標(biāo)來激活該程序,一方將程序激活后,在“請輸入所要連接的主機(jī)名:“右側(cè)的編輯框中輸入需要連接的計(jì)算機(jī)名,并敲“連接”鍵便可連接成功。此時(shí)在“接收窗口:”下的編輯框中將會(huì)出現(xiàn)“連接成功”的提示。然后就可以在“發(fā)送窗口:”下的編輯框中輸入要說的話了,輸入完畢后敲“發(fā)送”鍵后便可使另一方收到你的話了,如果另一方的程序尚未正常化,那么另一方程序?qū)l(fā)出提示音并使任務(wù)欄中程序的圖標(biāo)閃爍,直到另一方將程序激活為正?;⑴c你對話為止。如果暫時(shí)停止對話可以點(diǎn)擊該程序的極小化按鈕將程序最小化,一旦需要再次通話可直接激活該程序發(fā)送過去,如果另一方的程序尚未正?;敲闯绦蛉詫l(fā)出提示音并使開使欄中程序的小圖標(biāo)閃爍,直到另一方將程序正?;⑴c你對話為止。所以,無論什么時(shí)候想與對方通話只要對方開了機(jī)便可以實(shí)現(xiàn)。當(dāng)需要斷開連接時(shí)請按“關(guān)閉”鍵,該程序能自動(dòng)發(fā)送結(jié)束消息,使對方能夠知道你已斷開連接,以結(jié)束程序運(yùn)行。