亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        VB中基于TCP/IP協(xié)議的點對點文件傳輸

        2012-10-13 05:02:52高永強李翠蓮
        長治學(xué)院學(xué)報 2012年5期
        關(guān)鍵詞:點對點客戶機服務(wù)器端

        高永強,李翠蓮

        (1.呂梁學(xué)院 計算機系,山西 呂梁 033000;2.離石師范 計算機系;山西 呂梁 033000)

        當今軟件技術(shù)主要是網(wǎng)絡(luò)編程,TCP/IP網(wǎng)絡(luò)通訊協(xié)議應(yīng)用最為廣泛。文章通過討論采用Winsock控件對TCP/IP協(xié)議訪問網(wǎng)絡(luò)的捷徑,不需了解TCP/IP實現(xiàn)過程的細節(jié)和調(diào)用復(fù)雜的Winsock API,只需設(shè)置相應(yīng)的屬性值和編寫相應(yīng)事件代碼,就可以實現(xiàn)不同計算機系統(tǒng)之間的數(shù)據(jù)通信。

        1 Winsock控件

        Winsock是Windows下廣泛應(yīng)用的、開放的、支持多種協(xié)議的網(wǎng)絡(luò)編程接口。通信的基礎(chǔ)是套接口(Socket),一個套接口是通訊的一端。在這一端上可以找到與其對應(yīng)的一個名字。為了保證通訊的可靠性,在下面的程序中使用的是TCP/IP協(xié)議,并且在客戶端和服務(wù)端均采用預(yù)設(shè)端口1001(大家在實踐時可以自行更改)。

        2 Winsock控件通信的工作原理

        一個在建立點對點的應(yīng)用時最常用的范例便是客戶機/服務(wù)器模型。在這種方案中,客戶應(yīng)用程序向服務(wù)器程序請求服務(wù)。這種方式隱含了在建立客戶機/服務(wù)器間通訊時的非對稱性??蛻魴C/服務(wù)器模型工作時要求有一套為客戶機和服務(wù)器所共識的慣例來保證服務(wù)能夠被提供(或被接受)。這一套慣例包含了一套協(xié)議。它必須在通訊的兩頭都被實現(xiàn)。根據(jù)不同的實際情況,協(xié)議可能是對稱的或是非對稱的。在對稱的協(xié)議中,每一方都有可能扮演主從角色;在非對稱協(xié)議中,一方被不可改變地認為是主機,而另一方則是從機。一個服務(wù)程序通常在一個眾所周知的地址監(jiān)聽對服務(wù)的請求,也就是說,服務(wù)進程一直處于休眠狀態(tài),直到一個客戶對這個服務(wù)的地址提出了連接請求。在這個時刻,服務(wù)程序被“驚醒”并且為客戶提供服務(wù)-對客戶的請求作出適當?shù)姆磻?yīng)。這一請求/相應(yīng)的過程可以簡單的用圖表示。雖然基于連接的服務(wù)是設(shè)計客戶機/服務(wù)器應(yīng)用程序時的標準,但有些服務(wù)也是可以通過數(shù)據(jù)報套接口提供的,其大致流程如圖1所示。

        圖1 Winsock工作原理

        端口號范圍是0-65535,(其中0-1023被預(yù)先定義所占用(如http占用端口80),故端口號設(shè)置在1024-65535之間,防止端口沖突。

        3 基本方法

        建立服務(wù)器端和客戶端,服務(wù)器端設(shè)置與客戶端口相同的一個監(jiān)聽端口,同時調(diào)用服務(wù)器端的Listen方法監(jiān)聽客戶端的請求;當接收到客戶端的連接請求就調(diào)用事件ConnectionRequest的方法Accept與客戶端建立連接??蛻舳吮仨氈婪?wù)器端的地址;必須與服務(wù)器端有相同的端口(用于數(shù)據(jù)的輸入和輸出);調(diào)用方法Connect與服務(wù)器端連接??蛻舳撕头?wù)器端連接后,服務(wù)器與客戶機端通過SendData方法和GetData方法自由地收發(fā)數(shù)據(jù)[1]。

        4 案例實現(xiàn)

        文章通過一個具體事例,來說明使用Winsock控件進行點對點的網(wǎng)絡(luò)通信。事例需要兩臺計算機,分別為服務(wù)器端和客戶端,實現(xiàn)將服務(wù)器端的某一文件發(fā)送到客戶端,從而服務(wù)器端和客戶端點對點的文件傳輸。

        4.1 基本原理

        文章實現(xiàn)點對點文件的傳輸中最基本的文件傳輸方式,只建立一個發(fā)送端和接收端?;驹恚喊l(fā)送端獲取要傳輸文件的基本信息(文件名及文件長度)發(fā)送接收端,并建立一個和文件一樣大小的數(shù)據(jù)緩沖區(qū),并將文件內(nèi)容讀入緩沖區(qū),軟后將數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)發(fā)送給接收端。同時,接收端接收到文件基本信息后,也為其創(chuàng)一個文件和相同大小數(shù)據(jù)緩沖區(qū),將發(fā)送的文件數(shù)據(jù)存儲到數(shù)據(jù)緩沖區(qū)中,然后,將數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)寫入創(chuàng)建的文件中去。從而實現(xiàn)了不同計算機之間文件的傳輸。[3]

        4.2 服務(wù)器端主程序代碼

        “通用”中聲明如下:

        4.3 客戶端主程序代碼

        “通用”中聲明如下:

        上例介紹了Winsock控件文件傳輸?shù)倪^程。但是,要傳送的數(shù)據(jù)量較大時,不能將幾百MB甚至上GB的數(shù)據(jù)放到內(nèi)存中區(qū),應(yīng)該將文件分割為一定的大小,分成若干個數(shù)據(jù)塊。所以,先設(shè)置數(shù)據(jù)塊的大?。ㄈ?28 K),根據(jù)文件長度計算出數(shù)據(jù)塊數(shù)。接著,依次讀取數(shù)據(jù)塊到數(shù)據(jù)緩沖區(qū)中,然后,將數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)發(fā)送接收端的計算機上。接收端也建立一個與發(fā)送端相同大小數(shù)據(jù)緩沖區(qū),依次接收傳輸過來的數(shù)據(jù)塊,并將緩沖區(qū)的數(shù)據(jù)寫入到文件中,從而實現(xiàn)大文件的傳輸。

        有時,當正傳輸?shù)奈募蝗槐恢袛啵瑸榱斯?jié)省時間可以采用“斷點續(xù)傳”。“斷點續(xù)傳”的方法采用設(shè)置一個臨時文件,記錄已經(jīng)傳輸?shù)奈募畔ⅲㄟ^臨時文件信息推算出未傳輸?shù)臄?shù)據(jù)。所以每次文件傳輸前,查找文件是否有臨時文件,并將此文件信息傳輸給服務(wù)器端,服務(wù)器端據(jù)此接著傳輸剩余的數(shù)據(jù),當文件全部傳輸完畢時,臨時文件被刪除,這樣就實現(xiàn)了“斷點續(xù)傳”。

        文章依然通過上面的實例,介紹如何在VB中使用Winsock控件實現(xiàn)文件的分塊傳輸和斷點續(xù)傳。

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

        “通用”中聲明如下:

        4.5 客戶端主程序如下

        “數(shù)據(jù)到達”事件的代碼:

        5 結(jié)語

        文章介紹在VB中使用Winsock控件實現(xiàn)點對點文件傳輸?shù)木W(wǎng)絡(luò)傳輸。此外,本文還介紹了實際工作中“斷點續(xù)傳”編程方法,以滿足實際工作需要,其設(shè)計的思想也具有普遍的通用性[2]。

        [1]微軟中國有限公司譯.Microsoft C orporation.中文Visual Basic 6.0程序員指南[M].北京:科學(xué)出版社,1998.

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

        [3]何克石.基于 Winsock 的點對點網(wǎng)絡(luò)通信[J].交通與計算機,2000,(5):22-23.

        猜你喜歡
        點對點客戶機服務(wù)器端
        Reducing the global cancer burden with gastrointestinal screening: China’s 30 years practice
        “點對點”幫2萬名農(nóng)民工返崗
        OptiX155622H設(shè)備點對點以太網(wǎng)透傳業(yè)務(wù)故障分析
        電子制作(2018年19期)2018-11-14 02:37:08
        淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
        成功(2018年10期)2018-03-26 02:56:14
        便攜式點對點可見光通信終端的實驗研究
        在Windows中安裝OpenVPN
        點對點紅外通訊裝置的設(shè)計
        電測與儀表(2015年7期)2015-04-09 11:40:24
        網(wǎng)頁防篡改中分布式文件同步復(fù)制系統(tǒng)
        瘦客戶機:安全與便捷的選擇
        基于Web數(shù)據(jù)提高訪問速度的方法
        成人免费无码大片a毛片| 国产一级黄色av影片| 白白色日韩免费在线观看 | 欧美亚洲另类 丝袜综合网| 国产激情视频在线观看首页| 台湾自拍偷区亚洲综合| 日韩在线精品视频一区| 人人妻人人狠人人爽天天综合网 | 精品久久中文字幕一区| 深夜放纵内射少妇| 国产精品麻豆成人av电影艾秋 | 性色av无码不卡中文字幕| 日本香蕉久久一区二区视频 | 国产一区二区三区激情视频 | 亚洲色图视频在线免费看| 午夜无码伦费影视在线观看| 无码熟妇人妻av在线影片| 不卡无毒免费毛片视频观看| 中文字幕亚洲乱码熟女1区2区| 曰韩内射六十七十老熟女影视| 久久国产亚洲高清观看| 成人伊人亚洲人综合网站222| 情色视频在线观看一区二区三区 | 97久人人做人人妻人人玩精品| 久久精品中文字幕大胸| 亚洲另类国产综合第一| 国产女奸网站在线观看| 九色精品国产亚洲av麻豆一| 国产亚洲中文字幕一区| aaa日本高清在线播放免费观看| 人妻熟女一区二区三区app下载 | 国产一区二区丰满熟女人妻| 国产精品毛片毛片av一区二区| 国产做无码视频在线观看| 亚洲日韩精品国产一区二区三区| 噜噜噜色97| 久久久噜噜噜久久熟女| 国产成a人亚洲精品无码樱花| 少妇人妻在线视频| 亚洲av午夜福利精品一区二区| 一区二区三区视频在线观看免费|