VC++ 6.0下使用Winsock控件的局域網(wǎng)通訊程序

VC++ 6.0下使用Winsock控件的局域網(wǎng)通訊程序

ID:46799790

大?。?9.50 KB

頁(yè)數(shù):6頁(yè)

時(shí)間:2019-11-27

VC++ 6.0下使用Winsock控件的局域網(wǎng)通訊程序_第1頁(yè)
VC++ 6.0下使用Winsock控件的局域網(wǎng)通訊程序_第2頁(yè)
VC++ 6.0下使用Winsock控件的局域網(wǎng)通訊程序_第3頁(yè)
VC++ 6.0下使用Winsock控件的局域網(wǎng)通訊程序_第4頁(yè)
VC++ 6.0下使用Winsock控件的局域網(wǎng)通訊程序_第5頁(yè)
資源描述:

《VC++ 6.0下使用Winsock控件的局域網(wǎng)通訊程序》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、VC++6.0下使用Winsock控件的局域網(wǎng)通訊程序摘要介紹在VISCALC++6.0環(huán)境下,使用Winsock控件進(jìn)行網(wǎng)絡(luò)通訊的一種方法。Winsock控件的使用簡(jiǎn)單,可以方便地應(yīng)用在使用VC++進(jìn)行編程的網(wǎng)絡(luò)通訊程序中。關(guān)鍵詞Winsock控件局域網(wǎng)VC6.0中圖分類(lèi)號(hào):文獻(xiàn)標(biāo)識(shí)碼:文章編號(hào):引言隨著計(jì)算機(jī)技術(shù)的發(fā)展和網(wǎng)絡(luò)的不斷普及,網(wǎng)絡(luò)通訊程序的應(yīng)用越來(lái)越普遍,各種軟件開(kāi)發(fā)平臺(tái)也為網(wǎng)絡(luò)通訊程序的開(kāi)發(fā)提供了不同形式的類(lèi)和控件。在利用VisualC++進(jìn)行開(kāi)發(fā)時(shí),可以使用Csocket類(lèi);在利用VisucalBasic進(jìn)

2、行開(kāi)發(fā)時(shí),可以使用Winsock控件。有關(guān)Csocket類(lèi)在VC中的使用和Winsock控件在VB中使用,已經(jīng)有許多文章、資料進(jìn)行的介紹,這里不再贅述。同時(shí)也應(yīng)注意到,利用VC的CSocket類(lèi)需要對(duì)網(wǎng)絡(luò)通訊的機(jī)制和參數(shù)有較深的了解,需要較深的計(jì)算機(jī)知識(shí)。雖然CSocket對(duì)Winsock進(jìn)行了封裝,但是它的函數(shù)調(diào)用仍然比較復(fù)雜,使用起來(lái)不容易。與此相反,在利用VB編程時(shí),各種控件的使用比較簡(jiǎn)單,不需要許多的參數(shù)。利用VB中的Winsock控件進(jìn)行開(kāi)發(fā)比較容易,但VB本身的功能不如VC強(qiáng)大,在進(jìn)行開(kāi)發(fā)時(shí)有時(shí)會(huì)受到一定程度的限

3、制。在VC中利用Winsock控件的使用難度則介于上述二者之間,只需對(duì)少許一些參數(shù)做簡(jiǎn)單設(shè)置即可。如果在用VC編制程序時(shí)需要進(jìn)行網(wǎng)絡(luò)通訊而又不想花費(fèi)過(guò)多的時(shí)間,在VC程序中插入Winsock控件是一種合適的方法。利用Winsock控件可以編制一個(gè)簡(jiǎn)單的通訊程序,用于局域網(wǎng)之間的微機(jī)通訊。一、Winsock控件的使用方法1.1通訊協(xié)議的選擇Winsock控件提供了訪問(wèn)TCP和UDP網(wǎng)絡(luò)服務(wù)的方便途徑。采用TCP協(xié)議可以提供雙向的、可靠的、有序的和無(wú)重復(fù)投遞的數(shù)據(jù)流。TCP允許創(chuàng)建和維護(hù)與遠(yuǎn)程計(jì)算機(jī)的連接,連接兩臺(tái)計(jì)算機(jī)就可彼此

4、進(jìn)行數(shù)據(jù)傳輸。用戶數(shù)據(jù)文報(bào)協(xié)議(UDP)是一個(gè)無(wú)連接協(xié)議。采用UDP協(xié)議,支持雙向的數(shù)據(jù)流,但不保證有序、可靠或無(wú)重復(fù)的投遞。但計(jì)算機(jī)并不建立連接。在使用中,采用TCP協(xié)議的編程模型應(yīng)用最為廣泛,因?yàn)槊嫦蜻B接協(xié)議提供了一系列的數(shù)據(jù)糾錯(cuò)功能,可以保證在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)及時(shí)、無(wú)誤地到達(dá)對(duì)方,Internet上的多數(shù)服務(wù)(WWW、FTP、Telnet、SMTP)就是靠此協(xié)議運(yùn)轉(zhuǎn)的。采用UDP協(xié)議由于不用建立連接,傳輸比連接協(xié)議快,無(wú)數(shù)據(jù)糾錯(cuò)功能,不保證數(shù)據(jù)的可靠傳遞。在這里本文只介紹使用TCP/IP協(xié)議進(jìn)行編程的方法。1.2使用方

5、法和主要函數(shù)Winsock控件的使用方法和步驟如下圖所示。1.2.1VARIANT類(lèi)型變量的使用Winsock控件使用的一個(gè)特殊的數(shù)據(jù)類(lèi)型為VARIANT結(jié)構(gòu),其中vt的值類(lèi)型說(shuō)明了它所存儲(chǔ)的數(shù)據(jù),vt的幾個(gè)主要的值類(lèi)型及值域?yàn)椋侯?lèi)型值域說(shuō)明vt=VT_BSTRbstrVal字符串類(lèi)型vt=VT_I2Ival整數(shù)類(lèi)型vt=VT_ERRORscode錯(cuò)誤代碼在使用之前,應(yīng)對(duì)VARIANT變量的類(lèi)型和值域進(jìn)行賦值。一般的使用方法為:VARIANT[variantname][variantname].vt=[varianttype

6、][variantname].[varianttype]=[value]例如:Cstringm_host;m_host="Room312";VARIANTvtHost;vtHost.vt=VT_BSTR;vtHost.bstrVal=m_host.AllocSysString();1.????2.2Server程序使用的主要函數(shù)Bind()函數(shù)指定用于TCP連接的LocalPort和LocalIP。Listen()函數(shù)設(shè)置偵聽(tīng)模式。該方法僅適用于TCP連接。Accept()在處理ConnectionRequest事件時(shí)用這個(gè)

7、方法接受新連接。SendData()用于數(shù)據(jù)的發(fā)送。Close()關(guān)閉與對(duì)方的連接。1.2.3Client程序使用的主要函數(shù)Connect()要求連接到遠(yuǎn)程計(jì)算機(jī)。GetData()得到遠(yuǎn)程計(jì)算機(jī)上的數(shù)據(jù)。二、使用Winsock控件的局域網(wǎng)通訊程序2.1Server程序利用ClassWizard建立一個(gè)ServerDemo程序,注意選擇SDI,支持ActiveX,將View類(lèi)設(shè)為CFormView類(lèi),從Project->AddFile->CompontandControl,在對(duì)話框中選RegisteredActiveX,選擇

8、MicrosoftWinSockControl,點(diǎn)擊Insert按鈕,依照缺省設(shè)置即可。這樣在工程文件中會(huì)出現(xiàn)mswinsockcontrol類(lèi)編輯ServerDemo程序的主對(duì)話框,可以看到在控件面版上出現(xiàn)mswinsockcontrol類(lèi)的控件。在對(duì)話框中加入控件和相應(yīng)的變量,如表1所

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。