馬 寧
(山西管理職業學院,山西臨汾 041051)
信息技術和互聯網應用技術的高速發展,已經計算機應用技術的普及化,促使即時通訊技術的興起和廣泛應用。即時通訊具有廉價、高效、方便的特性,被廣泛的應用于局域網絡中的通信之內,并且在廣域網范圍內也得到相當程度的應用,方便網民的常規信息資源交流與共享,并為文件與信息提供更為方便的通訊形式。目前國內較流行的IM軟件品類多雜,較主流的即時通訊軟件分別有我國的騰訊QQ、移動飛信 和來自國外 的Yahoo Messenger、X-lite、AIM、ICQ、Skype等、MSN等即時通訊軟件產品。因為廣域網制約下即時通信的軟件產品服務器通常不能建立連接,從而凸顯了局域網中基于即時通信技術的軟件產品開發的重要性。
網絡平臺上即時通信軟件是基于互聯網的在線用戶識別和實時信息交流技術。當前即時通信包含的內容有視頻和音頻通信、文件共享、文件傳送等。和傳統通信形式比較,即時通訊技術更加的廉價、快捷和方便。
案例中設計的即時性通訊軟件服務于使用局域網的普通職員,在即時通訊實現過程中不存在大量數據的錄入和查詢操作,軟件本身沒有設置配套的集成數據庫,用戶可以方便的使用頭像或者用戶名進行登陸,并借助該軟件實現即時聊天和文件傳送操作。因為軟件服務的對象是普通職員,基于其計算機水平和喜好簡潔的操作,軟件界面設計簡潔、方便,能夠為用戶通過該軟件和局域網內用戶的互聊和文件傳送提供更為便捷輕松的服務。
有別于一般通訊軟件的登陸方式,案例中設計的即時性通訊軟件在其登陸時,不用在界面中錄入用戶名和密碼數據,而在局域網中任意一臺計算機都具有相應的固定IP地址,并根據P2P通信技術實現局域網內快速通訊。用戶在登陸時,只要錄入自己獨有的頭像或者昵稱就能夠實現登陸。該快速通訊軟件的外觀邊框使用QQ的登陸用邊框模型,并且設計程序將會通過主界面得到本機的相關信息,例如昵稱、頭像號、端口號、廣播域和IP地址等。
兩臺或者多臺PC機之間構建互聯式通訊過程必需要先具備兩方面信息,也就是與本機發生互聯通訊的PC機具有的IP地址與PC機發生通訊過程所屬的用設置了winsock控件來構建各個PC機形成互聯應具有的條件,僅對該控件具有的屬性做相應的設置即可以形成基礎的PC間互聯,并對本機具有的IP段進行判斷,從而推算本機所屬的廣播域。在通訊過程設計中使用UDP協議可能導致設計中遇到問題,因此在進行本軟件設計中使用的互聯通訊協議均是TCP/IP協議。
第一,信息自動載入的方式不同。
本軟件的設計程序內最關鍵的過程是使局域網中的其他PC能夠實現信息的自動載入。利用判斷通訊方傳來的具有判斷數字的方式,做到所有PC機都能實現用戶在線頭像的自動載入和下線后頭像的自動刪除。
例如“我來了”能夠向廣播域發送的信息內容是頭像號、主機名、IP地址、和1加用戶名。本程序啟動的同時其開始向整個互聯過程朝運算得出的廣播域內的各個IP地址依次傳送該信息,并從中獲取用于確認的頭數字“1”之后,將內同分解后做相應記錄,并將其顯示到控件listview內,同時用廣播形式傳送一個數字“2”,而這些是局域網中其他PC載入昵稱和頭像的基本要求,本機也可以向本機IP做實踐發送行為,從而完成自己頭像的顯示。
“歡迎”能夠傳遞的信息包含頭像號、端口、IP地址、2加用戶名等。當PC機接到數字“1”可以使用其傳達信息做互聯同時傳達用戶退出、連接、添加、刪除、接受等組播信息,而組播對Main進行監聽,能夠刷新的用戶和本機信息的差別信息,獲取用于確認的頭數字“2”之后,對信息做記錄,同時將信息分解后顯示到控件listview內,從而判定對方是否在線。這些也是同其他PC構建互聯性關系的必備條件。
“再見”能夠傳遞的信息是5加空。該信與相應廣播域內進行傳送,獲取用于確認的數字“5”之后,將控件listview顯示的關聯性內容做相應的釋放。這是局域網內其余PC完成昵稱和頭像刪除的基礎條件,可以完成用戶的自動下線。
第二,聊天模式。
進行載入分解具體內容為本段功能的關鍵,對方信息讀取中頭數字后續的數據分別是:頭像號、主機名、端口、IP地質、用戶名。設計中在對該段數據做提取,并在調用中使用。利用該方式讓軟件做到用戶上線則頭像自動載入和用戶下線則頭像被自動刪除,當然,在實際執行中,載入和刪除的頭像指代的是預先保存的程序文件中頭像的序號。在這個過程中也能夠用頭的判定數來確定聊天的模式。
“單獨式聊天的內容”能夠傳送信息包含內容、端口、IP地址、3加用戶名等。判定進行單獨聊天的地址和連接并完成信息傳輸,該種頭的數字信息只能被一對一用戶觀察到,利用對IP地址與端口處于連接狀態時獲取和單端判定用信息外的聊天信息。
“共同式聊天的內容”能夠傳遞的信息包含內容、端口、IP地址、4加用戶名等。全部處于連接狀態中的PC機做信息傳遞,要被該數字引導的信息對廣播域范圍內做消息廣播,分期和單獨的判定載入類似,不過是將單點對應改為多點對應。
該軟件提供自帶的文件傳遞功能來體現其良好的使用性。文件傳遞構成主要是單個文件與目錄文件的傳遞。該軟件利用VB包內的Win Sock與Win Sock構建TCP/IP協議做直連式文件流傳遞。
第一,傳遞單個文件。
用鼠標對用戶頭像做雙擊動作,出現用戶用于傳遞文件的相關信息窗口。若需傳遞文件給對方,則直接把需要文件添入窗口內,并與窗口內添加傳遞文件的間接說明,以供用戶對傳遞的文件做有效確認。在這個過程中,要向對方發出對接收文件的確認信息,并使用TCP/IP協議完成該動作。文件傳遞發生前,對文件的大小做運算,一直保持對已傳遞文件路徑和大小的記錄。
第二,傳遞文件群。
實現文件傳遞時可以做到文件夾中多個文件傳遞的在一次傳遞中完成。傳遞開始前首先系統要傳送多文件名構成的文件名目錄,之后才對單一文件按次序傳遞,當接受方接收一個文件后,和本地留存的目錄做對比,進而確認傳遞。完成一個文件的接收后,對其他文件按照此種方法做接收,直到全部文件接收完成。
本系統設計中,前期利用UDP協議完成互聯式信息傳播,而廣播域中其余用戶無法對UDP協議下的信息做判讀。針對該現象分析后得知,局域網內的對IP地址的分配不符合UDP協議下廣播域內IP的計算方式。因此設計后期使用TCP/IP通訊協議使局域網內信息傳遞的穩定性和準確性都有了很大的提升,對于廣播域的計算方式使用本機IP地址末尾的1-255,最終做到單路使用局域網進行互聯式通信來判斷組播。
現在該快速通訊軟件完全能夠做到單路使用局域網做互聯式數據的傳遞,同時對廣播域和本機的IP地址做出準確計算。然而跨路使用PC機完成互聯,本軟件被開發人員(也即是本人)和該軟件本身所制約,導致軟件運算中的跨路引起廣播域的錯誤,從而造成信息交流過程出錯。該軟件設計中使用的是VB編程,也必然受到VB控件約束,從而導致多媒體數據流傳遞完成的困難。
使用VB編程來對局域網中的快速通訊做開發,也即開發即時性通訊軟件,使用TCP/IP的通訊協議進行局域網內信息的傳遞,確保即時性通訊軟件實現互聯式通訊的穩定、準確和簡潔。
[1]王巍.基于VB的局域網即時通訊軟件設計淺談[J].科學之友,2010,(10):156-157.
[2]董蘋蘋,王建新,孫志慧,等即時通訊軟件文件傳輸審計系統的研究與實現 [J].中南大學學報,2012,43(10):3872-3878.
[3]鄧浩,李保宙.利用VB編程快速實壩局域網通信[J].科技信息,2012,(34):312-313.