0引言對于一個程序員,如果要從頭開始完全由自己來編寫一個用于通信的應用程序,必須對相關的網(wǎng)絡協(xié)議及其它的一些底層技術有較深入的了解,編程難度比較大。Visual Basic(VB)為廣大程序員提供了基于WindowsSockets網(wǎng)絡編程接口的Winsock控件,它封裝了所有繁瑣的技術細節(jié),并提供了訪問TCP和UDP網(wǎng)絡服務的方便途徑,只需通過設置控件的屬性并調(diào)用其方法就可輕易連接到一臺遠程計算機中,并且還可以實現(xiàn)雙向交換數(shù)據(jù)。因此,利用VB的Winsock 控件來編寫基于TCP和UDP協(xié)議的通信程序,可以降低編程難度,簡化應用程序。1TCP和UDP協(xié)議介紹TCP和UDP是TCP/IP協(xié)議中的兩個傳輸層協(xié)議,它們使用IP路由功能把數(shù)據(jù)包發(fā)送到目的地,從而為應用程序及應用層協(xié)議提供網(wǎng)絡服務。TCP(Transmission Control Protocol,傳輸控制協(xié)議)是面向連接的協(xié)議。“面向連接”就是在正式通信前必須要與對方建立起可靠的連接,這就好象平時的打電話,必須等線路接通了、對方拿起話筒才能相互通話。一個TCP連接必須要經(jīng)過三次“對話“才能建立起來,其中的過程非常復雜。UDP(User Data Protocol,用戶數(shù)據(jù)報協(xié)議)是與TCP相對應的協(xié)議,是面向非連接的協(xié)議。“面向非連接”就是在正式通信前不必與對方先建立連接,不考慮對方狀態(tài)就直接發(fā)送數(shù)據(jù),這就好象平時的發(fā)手機短信,不必考慮對方狀態(tài),只需要輸入對方手機號就行。TCP提供的是面向連接的、可靠的數(shù)據(jù)流傳輸,而UDP提供的是面向非連接的、不可靠的數(shù)據(jù)流傳輸。面向連接的協(xié)議在任何數(shù)據(jù)傳輸前就建立好了點到點的連接,面向非連接的協(xié)議在數(shù)據(jù)傳輸之前不建立連接,而是在每個中間節(jié)點對面向非連接的包和數(shù)據(jù)包進行路由。