999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于WinSock的網絡編程技術

2010-09-20 06:28:24高永強張天剛
關鍵詞:方法

高永強,張天剛

(1.呂梁學院計算機系,山西呂梁033000;2.山西大同大學數學與計算機科學學院,山西大同037009)

基于WinSock的網絡編程技術

高永強1,張天剛2

(1.呂梁學院計算機系,山西呂梁033000;2.山西大同大學數學與計算機科學學院,山西大同037009)

介紹了VB中Winsock控件的屬性、方法、事件,并示例性地說明在VB中用Winsock控件實現網絡通信的一種簡易方法.

Winsock控件 TCP協議 C/S網絡數據交換

近年來,隨著計算機網絡技術的發展,網絡應用軟件的需求日益增多,網絡應用軟件開發是當今計算機應用領域的熱點,在諸多的網絡通信協議中,TCP/IP協議被廣為應用.在VB中Winsock控件能夠方便的訪問TCP/IP協議,開發人員只需設置一些屬性以及編寫一些事件代碼,就可以實現計算機間數據的通信.

1 WinSock控件簡介及通信模式

Socket是由加利福尼亞大學分校為UNIX操作系統開發的網絡編程通信接口,而UNIX是目前的廣為流行的網絡操作系統,故Socket網絡編程接口成為目前最為流行的接口之一.而本文使用Winsock控件正是基于Socket網絡接口規范開發的,其通信本質是對Socket編程接口進行數據讀寫控制.如果兩臺計算機要進行數據交換,就可以通過Socket來建立連接,我們可以把這個過程假象為電話通話過程:呼叫者與被呼叫者通過撥號連接,只有當兩者接通后,才可以進行自由通話,我們稱呼叫者為“客戶端”,被呼叫者為“服務器”,撥號碼為“IP地址+端口”(其端口號范圍為0-65535,但編程時一般選1024-65535端口,避免端口使用沖突,因0-1023已被預先定義).兩機在建立連接前,“服務器”與“客戶端”必須處于監聽與發出呼叫.因此,基于WinSock控件網絡通信,必須分別編制“客戶”端和“服務器”端應用程序,即客戶機/服務器(Client/ Server模式,簡稱C/S).

C/S模式的通信框圖為:

圖1 C/S模式通信圖

2 利用VB中的WinSock控件來實現C/S模式的雙向數據交換

通過上面介紹,我們了解了C/S模式的工作方式,它是目前廣泛采用的一種網絡通信工作模式.基于TCP/IP協議網絡通信主要模式就是C/S模式,即客戶端提出請求,服務器在監聽時接收到請求后就提供請求服務.C/S操作流程是:服務器端先啟動監聽客戶端請求是否到達服務器端口,客戶端開辟一通信通道與服務器主機端口相連,并向服務器提出服務請求,等待并接受應答,繼續提出服務請求,請求完成后,客戶端關閉通信通道.

遠程控制是基于C/S模式來實現的,所以程序結構分為兩部分:服務器和客戶端程序.服務器端程序要放在相對固定IP地址和端口上(可以編制設置功能來設置IP地址和端口)監聽客戶機端提出的請求;客戶機端程序要向服務器程序IP地址和端口提出請求連接.客戶機端和服務器端連接成功后,通過信息交換取得相應的服務.因此,在進行編程時,服務器端程序應設置Winsock控件的LocalPort屬性和調用Listen方法來監聽,客戶機端程序則要設置Winsock控件的RemoteHost和RemotePort屬性、調用Connect方法請求連接和Senddata方法來進行信息互換.下面簡介C/S連接的實現方法.

1)建立連接

在編制服務器端程序時,設置一個監聽端口和調用Listen方法進行監聽,即設置Winsock控件Localport屬性和調用Listen方法.當客戶機端向服務器提出連接請求時觸發ConnectionRequest事件,要接受連接請求調用該事件的Accept方法.

2)數據發送

連接完成后,客戶機和服務器端程序就可以相互交換數據.發送和接收數據分別調用Senddata方法和觸發 Dataarrival事件,并且接收端調用DataArrival事件的Getdata方法讀取發送端發來的數據.

3)數據傳輸

要進行數據傳輸,客戶機端的Localport屬性與服務器端的Remoteport屬性相同,服務器端的Remotehost屬性與客戶端的IP地址相同,發送機端調用 SendData方法發送信息,接收機端調用DataArrival事件內Getdata方法取得數據.

在實際數據傳送時,數據傳輸量往往達幾百MB乃至幾GB,沒有如此大數據緩沖區來存放數據.所以,采取數據包的方式進行數據傳輸,即把一個文件分成若干大小數據包.首先,設置傳輸數據包大小(如128KB),根據文件的大小計算出數據包數;接著,依次讀取數據包放入數據緩沖區,然后,發送數據緩沖區中的數據到目的計算機上;同時在接收端,建立一個相同數據緩沖區,接收發送端傳輸過來的數據包,并將接收到的數據寫入相應的文件中,這樣就可以實現大文件的傳輸.但是,文件在傳輸過程中自然或人為因素造成網絡連接突然中斷時,文件必須重新傳輸,造成人力、資源的極大浪費,這時,我們采用“斷點續傳”技術.

下面通過實例,介紹在VB中如何利用Winsock控件實現文件分塊傳送和斷點續傳技術的實現.

1)服務器端主程序如下

在“通用”中聲明數據包、文件信息等如下:

“傳輸文件”按鈕單擊事件代碼:

2)客戶機端主程序代碼如下:

在“通用”中聲明數據包、緩沖區大小、文件信息等如下:

Dim data()As Byte,Dreceived As Long數據緩沖區設置與接收到數據

'窗體初始化

Sstate=True設置狀態為真

“連接”按鈕單擊事件代碼:

3 結束語

本文介紹了WinSock控件的相關屬性、方法和事件以及利用VB中的Winsock控件來實現C/S模式的進行數據交換的方法.同時列出了在服務器端和客戶端的接收和發送數據及斷電傳輸相應的代碼.該程序在VB6.0環境中調試通過.

[1]黃淼云.VB 6.0辦公自動化編程[M].北京:國防工業出版社,2000.

[2]王曉平,鐘軍.VisualBasic網絡通信協議分析與應用實現[M].北京:人民郵電出版社,2003.

[3]高俊光.基于VB的Winsock控件的原理與應用[J].應用科技,2004,31(3):13-14.

[4]黃玲玲,楊剴,王穎.在VB中使用Winsock控件實現局域網通信[J].信息技術,2005(6):24-26.

Abstract:The attribute,method,and event of Winsock control in VB has been introduced.And a simplemethod of the use of Winsock control to realize network communication ispresented.

Key words:Winsock;control;TCP;C/S;network communication

〔編輯 高海〕

Network Programming Technology based on Winsock

GAO Yong-qiang1,ZHANG Tian-gang2
(1.Computer Department,Lüliang University,Lüliang Shanxi,033000; 2.School of Mathematics and Computer Science,Shanxi Datong University,Datong Shanxi,037009)

TP311

A

1674-0874(2010)05-0020-03

2010-05-28

高永強(1974-),男,山西臨縣人,講師,研究方向:計算機應用.

猜你喜歡
方法
中醫特有的急救方法
中老年保健(2021年9期)2021-08-24 03:52:04
高中數學教學改革的方法
河北畫報(2021年2期)2021-05-25 02:07:46
化學反應多變幻 “虛擬”方法幫大忙
變快的方法
兒童繪本(2020年5期)2020-04-07 17:46:30
學習方法
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
最有效的簡單方法
山東青年(2016年1期)2016-02-28 14:25:23
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 女人18毛片一级毛片在线 | 九色免费视频| 韩国v欧美v亚洲v日本v| 蜜桃视频一区| 亚洲欧美天堂网| 精品国产成人a在线观看| 国产菊爆视频在线观看| 国产97视频在线观看| 91精品啪在线观看国产60岁| 中文字幕第1页在线播| 欧美伊人色综合久久天天| 午夜成人在线视频| 综合网久久| 国产乱子伦视频三区| 久久国产亚洲偷自| 91精品日韩人妻无码久久| 国产网站免费| 国产欧美日本在线观看| 九九视频免费看| 亚洲婷婷六月| 国产一区二区三区在线观看视频 | 日韩中文精品亚洲第三区| 午夜福利视频一区| 波多野结衣在线一区二区| 国产欧美中文字幕| 少妇人妻无码首页| 国产成熟女人性满足视频| 三区在线视频| 国产欧美视频一区二区三区| 在线观看国产黄色| 午夜福利在线观看成人| 伊大人香蕉久久网欧美| 久久99蜜桃精品久久久久小说| 欧美日韩国产成人在线观看| 日韩大片免费观看视频播放| 国产一区二区三区精品欧美日韩| 亚洲精品国产精品乱码不卞| 日韩黄色精品| 久久夜夜视频| 国内精品伊人久久久久7777人| 狠狠做深爱婷婷久久一区| 在线高清亚洲精品二区| 无码一区18禁| 99精品热视频这里只有精品7| 色哟哟精品无码网站在线播放视频| 美女无遮挡免费视频网站| 青草91视频免费观看| 日韩在线欧美在线| 久久精品国产电影| 国产亚洲精品yxsp| 免费不卡在线观看av| 九九热这里只有国产精品| 免费看a毛片| 一级成人欧美一区在线观看| 一级看片免费视频| 欧美日韩激情在线| 亚洲91在线精品| 视频二区亚洲精品| 亚洲福利视频一区二区| 热伊人99re久久精品最新地| 无码免费视频| 欧美激情视频一区| 99热这里只有免费国产精品 | 五月婷婷精品| 四虎永久免费地址| 国产成人精品在线1区| 国产精品第三页在线看| 日本一区二区三区精品国产| 亚洲天堂网在线观看视频| 亚洲男人的天堂在线观看| 高h视频在线| 好久久免费视频高清| 一级片一区| 久久久久无码精品| 国产精品欧美激情| 波多野结衣亚洲一区| 色综合久久久久8天国| 夜夜操国产| 91色老久久精品偷偷蜜臀| 亚洲综合色婷婷中文字幕| 九九视频在线免费观看| 国产99视频精品免费观看9e|