• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Windows Sockets控件在網(wǎng)絡(luò)通信中的程序?qū)崿F(xiàn)

      2014-08-07 12:03:00
      天津科技 2014年11期
      關(guān)鍵詞:參考模型文本框客戶機

      萬 鵬

      (天津市科技檔案館 天津 300011)

      Windows Sockets控件在網(wǎng)絡(luò)通信中的程序?qū)崿F(xiàn)

      萬 鵬

      (天津市科技檔案館 天津 300011)

      Windows Sockets是基于TCP/IP參考模型,應(yīng)用于微軟Windows系統(tǒng)的網(wǎng)絡(luò)編程接口,因其具有開放和支持多協(xié)議的機制而得到了廣泛應(yīng)用。討論了 Windows Sockets的通信機理及通過 Visual Basic編程實現(xiàn)網(wǎng)絡(luò)通信的過程。

      TCP/IP參考模型 傳輸層 Windows Sockets Visual Basic 服務(wù)器 客戶機

      1 網(wǎng)絡(luò)編程基礎(chǔ)

      1.1 TCP/IP參考模型簡介

      TCP/IP參考模型是Internet的基礎(chǔ),它定義了電子設(shè)備如何接入 Internet,以及數(shù)據(jù)在設(shè)備之間傳輸?shù)臉藴?。TCP/IP參考模型將諸多網(wǎng)絡(luò)協(xié)議分為 4個層次,由下至上分別是:網(wǎng)絡(luò)接口層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層。所有協(xié)議組成了 TCP/IP協(xié)議簇。層次結(jié)構(gòu)以及各協(xié)議之間的對應(yīng)關(guān)系如圖1所示。

      圖1 TCP/IP參考模型層次結(jié)構(gòu)與協(xié)議對應(yīng)關(guān)系Fig.1 Hierarchical structure and protocol correspondence of the TCP/IP reference model

      1.2 傳輸層協(xié)議選擇

      在使用Windows Sockets(簡稱WinSock)控件編程之前,需要選擇合適的TCP/IP傳輸層協(xié)議,如圖1所示,可以選擇TCP協(xié)議或 UDP協(xié)議。兩者的差異主要體現(xiàn)在連接性和可靠性方面。

      TCP協(xié)議提供的是面向連接的、可靠的數(shù)據(jù)傳輸?!懊嫦蜻B接”是指在數(shù)據(jù)傳輸之前,收發(fā)雙方需要建立點對點的會話連接,傳輸結(jié)束后需要釋放連接?!翱煽俊笔侵覆扇∠鄳?yīng)糾錯機制,使該協(xié)議具有錯誤校驗功能,如果在傳輸過程中數(shù)據(jù)發(fā)生錯誤或無法到達對方,TCP協(xié)議會嘗試重新發(fā)送數(shù)據(jù)。

      UDP協(xié)議提供的是非面向連接的、不可靠的數(shù)據(jù)傳輸。該協(xié)議在數(shù)據(jù)傳輸之前不會建立點對點的會話連接,發(fā)送方只是簡單地向接收方發(fā)送數(shù)據(jù);也沒有糾錯機制來避免數(shù)據(jù)傳輸錯誤或確保數(shù)據(jù)成功到達目的地。

      實際操作中,需要根據(jù)網(wǎng)絡(luò)環(huán)境以及數(shù)據(jù)的傳輸要求選擇合適的協(xié)議。如果對于數(shù)據(jù)傳輸?shù)目煽匦?、可靠性和完整性要求較高,建議選擇 TCP協(xié)議。如果數(shù)據(jù)連接開銷小,對傳輸效率和靈活性要求較高,UDP協(xié)議應(yīng)該是合適的選擇。WinSock控件中的Protocol屬性用來設(shè)定傳輸層協(xié)議,缺省設(shè)置是 TCP協(xié)議。

      1.3 WinSock控件簡介

      Internet是基于 TCP/IP模型的互聯(lián)網(wǎng)絡(luò),而Windows是現(xiàn)有操作系統(tǒng)中最普及的一種。WinSock是Windows下得到廣泛應(yīng)用的、開放的、支持多種協(xié)議的網(wǎng)絡(luò)應(yīng)用程序編程接口(API)。目前,WinSock API已成為基于TCP/IP網(wǎng)絡(luò)環(huán)境中Windows編程事實上的標準,為編程人員在 Windows平臺上開發(fā)通用和規(guī)范的網(wǎng)絡(luò)應(yīng)用程序提供了極大的方便。

      1.4 基于Visual Basic的WinSock應(yīng)用

      Visual Basic(簡稱VB)是目前使用最廣泛的編程語言之一,其簡單易學(xué)的語言、結(jié)構(gòu)化的程序設(shè)計思想、可視化的編程手段以及事件驅(qū)動的編程機制,使得在 Windows環(huán)境下編寫應(yīng)用程序變得非常容易。利用它,用戶僅僅設(shè)置幾個與控件有關(guān)的屬性及引用與幾個控件有關(guān)的方法即可實現(xiàn) WinSock系統(tǒng)調(diào)用所完成的功能,極大地方便了用戶在基于 TCP/IP協(xié)議的網(wǎng)絡(luò)上開發(fā)網(wǎng)絡(luò)通信程序。

      2 WinSock控件的使用

      WinSock控件采用的是客戶機/服務(wù)器模式(Client/Server,簡稱 C/S)。此模式包括客戶機和服務(wù)器程序,客戶機向服務(wù)器發(fā)出服務(wù)請求,服務(wù)器偵聽到客戶機的請求后對客戶機作出應(yīng)答。

      2.1 主要屬性

      Text:設(shè)置控件中顯示的文本內(nèi)容;

      Protocol:返回或設(shè)置使用的傳輸協(xié)議類型(TCP或UDP,默認為TCP);

      Local Host Name:返回本機名字;

      Local IP:返回本機IP地址;

      Local Port:返回或設(shè)置偵聽端口;

      Remote Host:返回或設(shè)置遠程主機名或IP地址;

      Remote Host IP:返回或設(shè)置遠程主機IP地址;

      Remote Port:返回或設(shè)置遠程主機端口;

      State:返回控件當前的狀態(tài)。

      2.2 主要方法

      Accept:通過接收 request ID 參數(shù)的方式,使服務(wù)器接收一個客戶機的連接請求;

      Close:關(guān)閉當前連接;

      Listen:使服務(wù)器程序處于偵聽狀態(tài);

      Connect:向遠程主機發(fā)送連接請求;

      Get Data:接收遠程主機發(fā)來的數(shù)據(jù);

      Send Data:向遠程主機發(fā)送數(shù)據(jù)。

      2.3 主要事件

      Load:當前窗體載入時觸發(fā)的事件;

      Click:單擊鼠標鍵時觸發(fā)的事件;

      Connect:當一個連接完成時觸發(fā)的事件;

      Connection Request:客戶機向服務(wù)器發(fā)送請求時觸發(fā)的事件,該事件生成一個參數(shù) request ID,通常與 Accept方法一同使用,用來接收客戶機的連接請求;

      Data Arrival:有數(shù)據(jù)到達時觸發(fā)的事件,通常與Get Data方法一同使用,用來獲取到達的數(shù)據(jù);

      Close:遠程主機關(guān)閉連接時觸發(fā)的事件。

      3 程序?qū)崿F(xiàn)

      3.1 服務(wù)器功能的實現(xiàn)

      3.1.1 服務(wù)器控件設(shè)計

      ① Command1:退出按鈕;

      ② Command2:設(shè)置偵聽端口按鈕;

      ③ Command3:發(fā)送按鈕;

      ④ Textlclport:設(shè)置偵聽端口文本框;

      ⑤ Textlclip:顯示本地ip地址文本框;

      ⑥ Textsend:發(fā)送文本框;

      ⑦ Textget:接收文本框;

      ⑧ Winsockserver:服務(wù)器 Winsock。

      3.1.2 服務(wù)器程序代碼

      3.2 客戶機功能的實現(xiàn)

      3.2.1 客戶機控件的設(shè)計

      ① Command1:退出按鈕;

      ② Command2:連接按鈕;

      ③ Command3:設(shè)置服務(wù)器IP按鈕;

      ④ Command4:設(shè)置服務(wù)器偵聽端口按鈕;

      ⑤ Command5:發(fā)送數(shù)據(jù)按鈕;

      ⑥ Textrmtip:遠程服務(wù)器IP文本框;

      ⑦ Textrmtport:遠程服務(wù)器偵聽端口文本框;

      ⑧ Textsend:發(fā)送文本框;

      ⑨ Textget:接收文本框;

      ⑩ Winsockclient:客戶機 Winsock。

      3.2.2 客戶機程序代碼

      4 總 結(jié)

      以上程序?qū)嵗肳inSock控件,采用客戶機/服務(wù)器模式,實現(xiàn)了 2臺主機之間的數(shù)據(jù)通信。該程序可以運行于企事業(yè)單位內(nèi)部局域網(wǎng),也可以在Internet環(huán)境下使用,為企事業(yè)單位員工的信息溝通搭建一個可靠、穩(wěn)定的服務(wù)平臺。

      [1] 卞志強. Visual Basic網(wǎng)絡(luò)程序設(shè)計[M]. 北京:人民郵電出版社,2003.

      [2] 苗長云. 現(xiàn)代通信原理及應(yīng)用[M]. 2版. 北京:電子工業(yè)出版社,2009.

      [3] 邵志方. 基于WinSock控件的網(wǎng)絡(luò)程序設(shè)計[J]. 無線互聯(lián)科技,2013(4) :116.

      [4] 俞時權(quán),呂智慧. 在 TCP/IP協(xié)議支撐之上的Windows Socket應(yīng)用開發(fā)[J]. 計算機應(yīng)用與軟件,2000(8):1-8.

      Programme Implementation of Windows Sockets in Network Communication

      WAN Peng
      (Tianjin Archives of Science and Technology,Tianjin 300011,China)

      The Windows Sockets specification defines an API for Microsoft Windows based on the TCP/IP reference model. It is widely applied due to its open and multi-protocol supporting mechanism. The paper discussed the communication mechanism of Windows Sockets and the process of network communication implementation through Visual Basic programming.

      TCP/IP reference model;transport layer;Windows Sockets;Visual Basic;server;client

      TP311.1

      A

      1006-8945(2014)11-0013-03

      2014-10-10

      猜你喜歡
      參考模型文本框客戶機
      Reducing the global cancer burden with gastrointestinal screening: China’s 30 years practice
      巧用文本框?qū)崿F(xiàn)PPT多圖片排版
      PPT文本框的另類應(yīng)用
      基于環(huán)境的軍事信息系統(tǒng)需求參考模型
      語義網(wǎng)絡(luò)P2P參考模型的查詢過程構(gòu)建
      文本框酷變3D效果
      基于參考模型的制造業(yè)MES需求建模
      基于數(shù)據(jù)的PID設(shè)計方法比較
      文本框在地理課件中的應(yīng)用
      瘦客戶機:安全與便捷的選擇
      洛川县| 镇平县| 丹凤县| 新余市| 青浦区| 许昌市| 洪湖市| 大新县| 普兰店市| 望谟县| 兴义市| 穆棱市| 无极县| 潢川县| 奉新县| 淮阳县| 阿巴嘎旗| 宁阳县| 田阳县| 大兴区| 泗洪县| 普定县| 宁远县| 乌鲁木齐市| 东平县| 尚志市| 绥阳县| 临城县| 大同县| 横峰县| 济阳县| 高青县| 无锡市| 天柱县| 福泉市| 邯郸县| 枣强县| 彰武县| 海晏县| 阿尔山市| 华坪县|