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

基于WinSock的網(wǎng)絡(luò)編程技術(shù)

2010-09-20 06:28:24高永強(qiáng)張?zhí)靹?/span>
關(guān)鍵詞:方法

高永強(qiáng),張?zhí)靹?/p>

(1.呂梁學(xué)院計(jì)算機(jī)系,山西呂梁033000;2.山西大同大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,山西大同037009)

基于WinSock的網(wǎng)絡(luò)編程技術(shù)

高永強(qiáng)1,張?zhí)靹?

(1.呂梁學(xué)院計(jì)算機(jī)系,山西呂梁033000;2.山西大同大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,山西大同037009)

介紹了VB中Winsock控件的屬性、方法、事件,并示例性地說明在VB中用Winsock控件實(shí)現(xiàn)網(wǎng)絡(luò)通信的一種簡易方法.

Winsock控件 TCP協(xié)議 C/S網(wǎng)絡(luò)數(shù)據(jù)交換

近年來,隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)應(yīng)用軟件的需求日益增多,網(wǎng)絡(luò)應(yīng)用軟件開發(fā)是當(dāng)今計(jì)算機(jī)應(yīng)用領(lǐng)域的熱點(diǎn),在諸多的網(wǎng)絡(luò)通信協(xié)議中,TCP/IP協(xié)議被廣為應(yīng)用.在VB中Winsock控件能夠方便的訪問TCP/IP協(xié)議,開發(fā)人員只需設(shè)置一些屬性以及編寫一些事件代碼,就可以實(shí)現(xiàn)計(jì)算機(jī)間數(shù)據(jù)的通信.

1 WinSock控件簡介及通信模式

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

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

圖1 C/S模式通信圖

2 利用VB中的WinSock控件來實(shí)現(xiàn)C/S模式的雙向數(shù)據(jù)交換

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

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

1)建立連接

在編制服務(wù)器端程序時(shí),設(shè)置一個(gè)監(jiān)聽端口和調(diào)用Listen方法進(jìn)行監(jiān)聽,即設(shè)置Winsock控件Localport屬性和調(diào)用Listen方法.當(dāng)客戶機(jī)端向服務(wù)器提出連接請求時(shí)觸發(fā)ConnectionRequest事件,要接受連接請求調(diào)用該事件的Accept方法.

2)數(shù)據(jù)發(fā)送

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

3)數(shù)據(jù)傳輸

要進(jìn)行數(shù)據(jù)傳輸,客戶機(jī)端的Localport屬性與服務(wù)器端的Remoteport屬性相同,服務(wù)器端的Remotehost屬性與客戶端的IP地址相同,發(fā)送機(jī)端調(diào)用 SendData方法發(fā)送信息,接收機(jī)端調(diào)用DataArrival事件內(nèi)Getdata方法取得數(shù)據(jù).

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

下面通過實(shí)例,介紹在VB中如何利用Winsock控件實(shí)現(xiàn)文件分塊傳送和斷點(diǎn)續(xù)傳技術(shù)的實(shí)現(xiàn).

1)服務(wù)器端主程序如下

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

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

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

在“通用”中聲明數(shù)據(jù)包、緩沖區(qū)大小、文件信息等如下:

Dim data()As Byte,Dreceived As Long數(shù)據(jù)緩沖區(qū)設(shè)置與接收到數(shù)據(jù)

'窗體初始化

Sstate=True設(shè)置狀態(tài)為真

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

3 結(jié)束語

本文介紹了WinSock控件的相關(guān)屬性、方法和事件以及利用VB中的Winsock控件來實(shí)現(xiàn)C/S模式的進(jìn)行數(shù)據(jù)交換的方法.同時(shí)列出了在服務(wù)器端和客戶端的接收和發(fā)送數(shù)據(jù)及斷電傳輸相應(yīng)的代碼.該程序在VB6.0環(huán)境中調(diào)試通過.

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

[2]王曉平,鐘軍.VisualBasic網(wǎng)絡(luò)通信協(xié)議分析與應(yīng)用實(shí)現(xiàn)[M].北京:人民郵電出版社,2003.

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

[4]黃玲玲,楊剴,王穎.在VB中使用Winsock控件實(shí)現(xiàn)局域網(wǎng)通信[J].信息技術(shù),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

高永強(qiáng)(1974-),男,山西臨縣人,講師,研究方向:計(jì)算機(jī)應(yīng)用.

猜你喜歡
方法
中醫(yī)特有的急救方法
中老年保健(2021年9期)2021-08-24 03:52:04
高中數(shù)學(xué)教學(xué)改革的方法
化學(xué)反應(yīng)多變幻 “虛擬”方法幫大忙
變快的方法
兒童繪本(2020年5期)2020-04-07 17:46:30
學(xué)習(xí)方法
用對方法才能瘦
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
賺錢方法
捕魚
主站蜘蛛池模板: 日韩福利视频导航| 国产成人综合久久精品尤物| 亚洲日本中文字幕天堂网| 色老头综合网| 成人伊人色一区二区三区| 国产精品美女自慰喷水| 免费视频在线2021入口| 国产麻豆福利av在线播放 | 五月六月伊人狠狠丁香网| 国产乱子伦无码精品小说| 免费毛片在线| 一级毛片网| 国产乱论视频| 国产青榴视频在线观看网站| 精品人妻AV区| 色综合天天娱乐综合网| 九色免费视频| 免费A级毛片无码无遮挡| 亚洲无码视频一区二区三区| 国产凹凸一区在线观看视频| 97免费在线观看视频| 国产亚洲美日韩AV中文字幕无码成人| 国产国产人免费视频成18| 无码一区18禁| 777午夜精品电影免费看| 国产精品理论片| 国产精品思思热在线| 亚洲第一黄色网址| 人妻精品全国免费视频| 久久国语对白| 国产成人喷潮在线观看| 综合天天色| 激情国产精品一区| 亚洲色精品国产一区二区三区| 国内a级毛片| 亚洲欧美一区二区三区图片| 亚洲香蕉在线| 日韩人妻少妇一区二区| 国产亚洲第一页| 色综合中文综合网| 性色一区| 日韩在线视频网站| 欧美精品在线看| 成人在线亚洲| 欧美另类视频一区二区三区| 久久久精品无码一区二区三区| 亚洲精品动漫| 欧美成人国产| 欧美成人h精品网站| 亚洲精品视频免费看| 国产啪在线| h网站在线播放| 亚洲无码电影| 国国产a国产片免费麻豆| 中文字幕永久在线观看| 亚洲综合香蕉| 日本午夜精品一本在线观看 | 日韩欧美高清视频| 国产午夜看片| a级高清毛片| 欧美精品另类| 欧美成人怡春院在线激情| 国产一区二区免费播放| 欧美一区二区自偷自拍视频| 久青草国产高清在线视频| 精品久久国产综合精麻豆| 国产成人免费观看在线视频| 欧美日韩在线第一页| 国产经典免费播放视频| 精品国产网| 国产精品自拍合集| 国产精品一老牛影视频| 不卡色老大久久综合网| 久久久噜噜噜| 尤物成AV人片在线观看| 午夜小视频在线| 国产成人h在线观看网站站| 亚洲欧美不卡视频| 99精品一区二区免费视频| 亚洲欧洲日产国码无码av喷潮| 日韩精品成人在线| 欧美一级黄色影院|