牟 亮
(中國聯通南京分公司 江蘇南京 210000)
數據通訊是利用數據傳輸技術在終端傳遞數據信息的通信方式。通過智能終端與計算機通信,數據通信中傳遞信息以二進制數據形式表現。即時通信軟件體現卓越的商務通信功能,以高效靈活便捷等特點得到用戶的青睞,即時通信成為推動電商發展的重要力量。當前,網絡上有ICQ等各種尋呼軟件,方便人們的相互聯系。當前企事業單位建立局域網,可以通過文件共享方式通訊。但局域網中網上鄰居不知道對象機器資源。局域網中通過ICQ可以實現便捷的聯絡,進行發布消息等。方便用戶交流,節省硬件資源配置。
TCP/IP初步架構出現源于美國國防部DARPA提出研究計劃,希望通過通信控制處理機在戰爭中遭到攻擊損壞能正常工作,希望適應從文件傳遞各種應用需求,要求靈活的網絡體系結構。最初APRANET使用租用線路,ARPANET最初開發網絡協議NCP因通信可靠性較差,出現了很多問題[1]。TCP協議非OSI標準,但被公認為當前工業標準。
1974年Kahn定義TCP/IP參考模型,1985年Leiner等人對模型進行研究。當前,Internet實現商業化,但最初質量標準依然必需。特性包括自動檢測等,TCP/IP是開放式通信協議,無論設備物理特征差異都可進行通信。TCP/IP是分層模型,TCP/IP參考模型側重互聯設備數據傳送,TCP/IP通過解釋功能層次分布實現。TCP/IP是把因特網系統聯系的協議組,IP是TCP/IP協議中的重要協議,可以實現無連接數據傳送功能。IP協議主要通過IP接收與發送函數實現。
大多數TCP/IP協議中采用差錯檢驗法為校驗和,可防止分組在傳輸中受到損傷,接收端對整個分組重復進行計算。TCP是傳輸層常用的協議,可以調可靠數據傳輸服務[2]。TCP協議實現是TCP/IP協議棧中最復雜的,采取連接建立與關閉機制,數據包確認機制等保證其可靠性。TCP連接建立后雙方可相互傳遞數據,TCP發送數據包后接收到發送確認包才能確認成功發送。
TCP是面向連接的協議,程序交換數據前需建立連接。程序服務方監聽,連接建立后可收發信息。應用程序通訊時建立Socket,必須建立Socket連接進行信息交換。Socket地址包括IP地址與協議。協議標識下層使用協議。通訊客戶建立Socket服務方等待客戶發送連接請求,雙方形成虛電路。C/S模型課利用兩端硬件環境優勢,服務器處于系統中心地位,服務器被動接受客戶連接。
Visual是微軟公司推出的應用程序開發工具,語言特點體現在結構化程序設計;提供易用的應用程序集成開發環境。文本即時通信分為服務器與客戶端模型,服務進程處于休眠狀態,服務程序為客戶端創建工作線程,完成與客戶端的請求服務。客戶端模型設計數據連接線程,負責客戶端數據收發操作。客戶端等待服務器端連接反饋。創建服務端口號偵聽是否有客戶連接。客戶向服務器發送數據后,在事件中接收數據。采用GetData方法接收。向客戶發送數據調用SendData方法,客戶端收發數據用SendData法實現功能。
服務器提供接收客戶端文件功能,客戶端發送請求信息后,服務器判斷是否存在文件,將信息發送至客戶端。服務器在文件發送操作中,首先發送文件信息給客戶端,包括文件大小等。工作線從指定位置讀取。用Open語句打開傳送文件轉換為二進制。Filehandle=FreeFile cmdsend.Enabled=False MsgBox.定義function SendChunk,分別發送.Public Function SendChunk()If WinsockSend.State<>sckConnected Then Exit Function Get#fiehandle.mybyte,經測試表明數據通訊系統性能達到要求。服務器可在收到請求后正常工作,文件傳輸中服務器CPU占用率較高。
本文探討基于TCP/IP協議的通信系統研究,采用客戶/服務器模型,提高網絡利用率。系統可實時將數據傳送到服務器端,熟悉文件傳輸功能。設計特點體現在采用C/S模型設計方法;采用TCP/IP協議數據傳輸不易丟失;有利于系統開發維護工作。