• 
    

    
    

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

      基于VB的局域網(wǎng)即時(shí)通訊軟件設(shè)計(jì)淺談

      2010-05-02 02:56:30
      科學(xué)之友 2010年10期
      關(guān)鍵詞:即時(shí)通訊PC機(jī)頭像

      王 巍

      (中國電信股份有限公司新疆分公司,新疆 烏魯木齊 830000)

      隨著互聯(lián)網(wǎng)技術(shù)信息技術(shù)的迅猛發(fā)展以及計(jì)算機(jī)技術(shù)的廣泛應(yīng)用,即時(shí)通信IM(Instant Messaging)作為一種方便、高效、廉價(jià)的交流方式被廣泛運(yùn)用于局域網(wǎng)(LAN)乃至廣域網(wǎng)(WAN)。為人們的日常交流和資源共享以及傳送信息和文件提供了方便。即時(shí)通信(IM)軟件應(yīng)運(yùn)而生,且立即風(fēng)靡全球?,F(xiàn)在我國流行的 IM軟件產(chǎn)品種類繁多,主要有國內(nèi)騰訊公司的QQ,國外的MSN、Skype、ICQ、AIM、X-lite、Yahoo Messenger等。但在廣域網(wǎng)的限制下主流即時(shí)通信軟件服務(wù)器無法連接,這時(shí)開發(fā)局域網(wǎng)內(nèi)的即時(shí)通信軟件顯得尤為重要。

      本軟件實(shí)現(xiàn)設(shè)計(jì)一個(gè)局域網(wǎng)即時(shí)通訊軟件,實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多即時(shí)通訊文件傳輸,方便在局域網(wǎng)下的人們工作與交流。

      1 對(duì)現(xiàn)有網(wǎng)絡(luò)通訊軟件分析

      即時(shí)通信(Instant Messaging,IM)是隨著Internet發(fā)展起來的一種使人們能在網(wǎng)上識(shí)別在線用戶并與他們實(shí)時(shí)交換消息的實(shí)時(shí)通信技術(shù)。目前即時(shí)通信也包括文件傳送、文件共享和語音視頻通信等。與傳統(tǒng)的通信方式相比,具有方便、快捷和廉價(jià)等特點(diǎn)。

      2 局域網(wǎng)即時(shí)通訊軟件的設(shè)計(jì)模型

      圖1 網(wǎng)絡(luò)通信軟件

      該軟件是提供給局域網(wǎng)下普通工作人員的通訊軟件,沒有大量的數(shù)據(jù)錄入以及數(shù)據(jù)查詢等操作,所以該軟件不需要與數(shù)據(jù)庫集成,用戶選擇用戶名與頭像登陸后,就可以與在線的其他用戶進(jìn)行互聊傳輸文件等操作,可以自己存儲(chǔ)相關(guān)的聊天信息等。

      用戶為一般工作人員,考慮到一般工作人員的計(jì)算機(jī)水平以及喜好,所以軟件界面不能太復(fù)雜,對(duì)于一般工作人員來說,他們登陸進(jìn)入到界面時(shí),除了要有吸引他們的界面外,還要讓他們一眼就可以看到可以互聊操作的對(duì)象,以及各個(gè)按鈕的功能作用,這里為每一個(gè)進(jìn)入用戶有相當(dāng)明顯的提示。

      該軟件模型設(shè)計(jì)見圖1。

      3 局域網(wǎng)即時(shí)通訊軟件設(shè)計(jì)流程

      本軟件面向普通工作人員這個(gè)群體,該群體相對(duì)于計(jì)算機(jī)來說的相同特征都是計(jì)算機(jī)水平較一般,甚至都有自己的聊天喜好,為了滿足用戶界面盡量效仿QQ等主流軟件,使用戶使用更加親切?;谶@些原因,軟件命名為“說說”。

      3.1 登陸界面

      與常規(guī)的通訊軟件不同,說說軟件的登陸界面不需要輸入用戶名、密碼等驗(yàn)證性的數(shù)據(jù),因?yàn)榫钟蚓W(wǎng)下每臺(tái)計(jì)算機(jī)都有一個(gè)固定的IP地址,基于P2P理論上無需連接遠(yuǎn)程服務(wù)器。只是要求用戶輸入自己的昵稱和選好自己的頭像即可點(diǎn)擊“進(jìn)入”,進(jìn)入到軟件主界面,在主界面的左邊的頭像欄里會(huì)顯示用戶剛才輸入的昵稱與姓名??紤]到用戶偏好登陸框基本采用QQ登陸框模型。本程序在此界面會(huì)得到所有的本機(jī)信息IP地址、廣播域、端口號(hào)、頭像號(hào)、昵稱。

      3.2 互聯(lián)過程

      在PC與PC之間建立互聯(lián)通訊的過程中最首要的需要了解兩點(diǎn)信息:一個(gè)是對(duì)方IP;一個(gè)是互聯(lián)端口。而在VB中為了實(shí)現(xiàn)網(wǎng)絡(luò)互連特意提供了一個(gè)winsock控件為PC機(jī)之間互聯(lián)建立了條件。只要在其屬性中稍加設(shè)置就可以實(shí)現(xiàn)基本的互聯(lián),同時(shí)判斷自己的IP段算出本機(jī)的廣播域。由于UDP的諸多問題,本軟件全部使用TCP/IP作為互聯(lián)協(xié)議。

      3.3 聊天以及組播的判斷

      3.3.1 自動(dòng)載入信息的不同方式

      在本程序中最為重要的過程,即實(shí)現(xiàn)局域網(wǎng)內(nèi)其他 PC機(jī)的自動(dòng)載入信息。通過判斷對(duì)方傳來的判斷數(shù)字這樣的方式,實(shí)現(xiàn)不同 PC機(jī)上的用戶進(jìn)行在線用戶頭像自動(dòng)載入,下線用戶頭像刪除。

      (1)“我來了”向廣播域傳送(1+用戶名、IP地址、端口、主機(jī)名、頭像號(hào))。當(dāng)開啟本程序時(shí)向互聯(lián)過程下計(jì)算出的廣播域下的IP地址挨個(gè)發(fā)送此信息,提取確認(rèn)頭數(shù)字1后,分解內(nèi)容記錄后顯示在listview控件中,并以廣播的形式發(fā)送一個(gè)2,這是其他 PC機(jī)載入頭像與昵稱的基本條件,自己可以給自己的IP發(fā)送,實(shí)現(xiàn)自己的頭像顯示功能。

      (2)“歡迎”傳送(2+用戶名、IP地址、端口、主機(jī)名、頭像號(hào))。PC機(jī)收到1時(shí)用其提供的信息進(jìn)行互聯(lián)并向回發(fā)送本機(jī)信息,提取確認(rèn)頭數(shù)字 2以后,記錄后分解內(nèi)容顯示在listview控件中,這用來確定對(duì)方也在線。這里是與其他PC機(jī)建立互聯(lián)關(guān)系的必要條件。

      (3)傳送“再見”(5+空)。在其廣播域中發(fā)送,提取確認(rèn)頭數(shù)字5以后,顯示在listview控件中的相關(guān)內(nèi)容釋放。這里是其他 PC機(jī)刪除頭像與昵稱的基本條件,實(shí)現(xiàn)自己下線的顯示。

      3.3.2 聊天的模式

      如何載入分解的內(nèi)容成了本段功能的重中之重,讀取對(duì)方傳來的信息時(shí)頭數(shù)字后跟隨數(shù)據(jù)有:用戶名(即昵稱)、IP地址、端口、主機(jī)名、頭像號(hào)。我們對(duì)這段數(shù)據(jù)進(jìn)行提取在以后調(diào)用中使用。通過這樣的方式我們可以實(shí)現(xiàn),上線頭像載入、下線用戶頭像自動(dòng)刪除的功能,這里我們載入刪除的不是頭像,而是事先存在程序文件下頭像編號(hào)。同時(shí)我們還可以從頭判定數(shù)來判斷聊天模式。

      (1)“單獨(dú)聊天內(nèi)容”傳送(3+用戶名、IP地址、端口、內(nèi)容)。判斷單獨(dú)聊天地址與其進(jìn)行連接進(jìn)行信息傳輸,在這種頭數(shù)字下的信息只有點(diǎn)對(duì)點(diǎn)之間的用戶可以看見,在通過對(duì)其IP和端口連接下讀取除判定信息后的聊天內(nèi)容。

      (2)“共同聊天內(nèi)容”傳送(4+用戶名、IP地址、端口、內(nèi)容)。對(duì)所有連接上的PC機(jī)進(jìn)行消息傳輸,在這種頭數(shù)字下的信息要在廣播域進(jìn)行消息廣播,這里基本與單獨(dú)判定載入相同只是由其單點(diǎn)改成了對(duì)多點(diǎn)。

      3.4 說說文件傳輸界面

      為了更好的體現(xiàn)本軟件的使用價(jià)值本程序還自帶文件傳輸功能。而文件傳輸主要分為單文件傳輸和目錄文件傳輸(多文件傳輸),本軟件使用VB 包中WinSock和WinSock建立TCP/IP直連進(jìn)行文件流傳送。

      3.4.1 單文件傳輸

      當(dāng)鼠標(biāo)雙擊某用戶頭像時(shí),會(huì)彈出與此用戶傳輸文件的信息窗口。需要向?qū)Ψ絺魉臀募芍苯訉⒋宋募砑拥酱舜翱?,為此在窗口中加入用于說明傳輸文件的簡介,便于用戶確認(rèn)傳輸文件。先向?qū)Ψ桨l(fā)送確認(rèn)接收文件信息,啟動(dòng)TCP/IP協(xié)議。在進(jìn)行文件傳輸之前計(jì)算文件大小,并時(shí)刻記錄文件已傳輸?shù)拇笮∨c路徑。

      3.4.2 多文件傳輸

      文件傳輸還可實(shí)現(xiàn)將一文件夾下的多個(gè)文件一次性傳送。在傳送前系統(tǒng)會(huì)首先傳一個(gè)要傳送的多個(gè)文件名所形成的目錄文件,然后再依次傳送每個(gè)文件,對(duì)方每接收到一個(gè)文件,先對(duì)此文件在本地的存儲(chǔ)目錄進(jìn)行判斷,如果此目錄不存在,則建立此目錄,然后再發(fā)送確認(rèn)接收文件。接收成功后,循環(huán)接收下一個(gè)文件。

      3.5 相關(guān)文件的生成

      為了方便廣大的用戶,本軟件安裝只要一個(gè)主文件,其他相關(guān)文件設(shè)定為自動(dòng)生成。如每次登錄時(shí)軟件自動(dòng)讀取第一次生成的INI文件,在Windows系統(tǒng)中,INI文件很多,該文件主要存放用戶所做的選擇以及系統(tǒng)的各種參數(shù)。用戶可以通過修改INI文件,來改變應(yīng)用程序和系統(tǒng)的很多配置。在本程序中,INI文件自動(dòng)記錄上次登陸信息。

      在主界面中選擇保存聊天記錄,會(huì)在當(dāng)前軟件所在路徑下生成CHATS.Txt,里面記錄了當(dāng)前聊天的所有信息。

      4 系統(tǒng)開發(fā)過程遇到的問題及解決方法

      本程序基本制作思想在于實(shí)現(xiàn)對(duì)等網(wǎng)互聯(lián)通訊的實(shí)現(xiàn),為了能直觀體現(xiàn)其對(duì)等網(wǎng)的特點(diǎn),必須制作出在線用戶自動(dòng)頭像自動(dòng)刷新、下線用戶頭像刪除的功能。設(shè)計(jì)之初,互聯(lián)信息的傳播使用UDP協(xié)議在廣播域中進(jìn)行,但后來發(fā)現(xiàn)其他PC機(jī)無法讀取到UDP傳來的信息,分析其原因在于局域網(wǎng)路由分配的IP段不符合其廣播域計(jì)算方式。后來采用了TCP/IP協(xié)議大大提高了信息傳播的準(zhǔn)確性與穩(wěn)定性,而廣播域算法也改成了取本機(jī)IP段最末位的1-255。從而實(shí)現(xiàn)了單路由下局域網(wǎng)的互聯(lián)通信組播的判斷。

      目前,本軟件可以進(jìn)行單路由局域網(wǎng)的互聯(lián)數(shù)據(jù)傳輸,并計(jì)算出其廣播域以及本機(jī)IP地址。但是對(duì)于跨路由的PC互聯(lián)來說,由于受開發(fā)軟件及本人技術(shù)的限制,使軟件在計(jì)算跨路由廣播域時(shí)出錯(cuò),無法交換信息。再次本軟件由于VB控件的限制,很難實(shí)現(xiàn)對(duì)于多媒體流的傳輸實(shí)現(xiàn)。

      利用 Visual Basic面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)開發(fā)的局域網(wǎng)即時(shí)通訊軟件,采用TCP/IP協(xié)議并通過及定義端口互聯(lián),這樣軟件的執(zhí)行會(huì)更加準(zhǔn)確方便,也使程序本身變得簡單。最后,軟件實(shí)現(xiàn)了較強(qiáng)的通訊功能,通過局域網(wǎng)內(nèi)的互聯(lián)實(shí)現(xiàn)文件批量傳輸、斷點(diǎn)傳輸?shù)任募鬏敼δ?,基本?shí)現(xiàn)了用戶在局域網(wǎng)內(nèi)即時(shí)通訊的目的。

      1 王繼魁. Linux下基于Shell腳本的聊天工具[J].吉林師范大學(xué)學(xué)報(bào),2009(1):122~124

      2 周 敏、李鳳婷、吳為民.基于VB的PC機(jī)與多臺(tái)PLC的通信研究[J].計(jì)算機(jī)工程,2009(04):103~107

      3 李長林. Visual Basic串口通信技術(shù)與典型實(shí)例[M].北京:清華大學(xué)出版社,2006

      4 張 巖. Delphi下的點(diǎn)對(duì)點(diǎn)聊天工具編程[A].計(jì)算機(jī)工程應(yīng)用技術(shù),2009(2):1239~1241

      5 李遠(yuǎn)杰、劉渭鋒.主流即時(shí)通訊軟件通信協(xié)議分析[J].計(jì)算機(jī)應(yīng)用研究,2005(7)

      6 汪發(fā)寶、樓新遠(yuǎn).基于P2P組播技術(shù)的局域網(wǎng)即時(shí)通信系統(tǒng)的實(shí)現(xiàn)[J].鐵路計(jì)算機(jī)應(yīng)用,2008(18)

      7 王甜甜、郭全萍、馬培軍等.用指針實(shí)現(xiàn)的程序的標(biāo)準(zhǔn)化及其應(yīng)用[J].哈爾濱工業(yè)大學(xué)學(xué)報(bào),2009(41):48~53

      8 斯蒂文斯.TCP/IP網(wǎng)絡(luò)互聯(lián)技術(shù)(卷 3)[M].北京:清華大學(xué)出版社,2004:156~203

      9 李為民.基于網(wǎng)絡(luò)的遠(yuǎn)程運(yùn)動(dòng)控制系統(tǒng)的設(shè)計(jì)與研究[D].武漢:武漢理工大學(xué),2003

      10 張傳偉、王昀睿. VB下PLC與PC串口通信的實(shí)現(xiàn)[J].控制與檢測,2005(12):62~66

      猜你喜歡
      即時(shí)通訊PC機(jī)頭像
      可愛的卡通頭像
      童話世界(2019年29期)2019-11-23 09:05:22
      民事訴訟中即時(shí)通訊記錄的證據(jù)采用進(jìn)路
      基于PC機(jī)與單片機(jī)的多機(jī)通信技術(shù)及抗干擾方法
      基于三菱FXPLC的感應(yīng)淬火機(jī)床與PC機(jī)的串行通信實(shí)現(xiàn)
      用鑰匙畫頭像
      VC.NET下實(shí)現(xiàn)dsPIC單片機(jī)與PC機(jī)的通信
      電子制作(2017年23期)2017-02-02 07:16:47
      即時(shí)通訊軟件發(fā)展模型的實(shí)證研究
      東方教育(2016年19期)2017-01-16 12:34:53
      科學(xué)技術(shù)哲學(xué)視域下的即時(shí)通訊
      科技傳播(2015年14期)2015-12-13 04:20:18
      即時(shí)通訊軟件WhatsApp
      CHIP新電腦(2015年10期)2015-10-15 18:03:55
      玩轉(zhuǎn)QQ自定義頭像
      海口市| 乌拉特后旗| 乌兰浩特市| 庄河市| 修水县| 沙洋县| 临猗县| 依兰县| 江达县| 西吉县| 昭平县| 新乐市| 临武县| 铜川市| 辽源市| 贵州省| 台南市| 巴林右旗| 阳山县| 山阴县| 手游| 松江区| 松溪县| 昭平县| 滦平县| 龙泉市| 德化县| 柘荣县| 秭归县| 嘉鱼县| 湘乡市| 高州市| 长沙县| 湖州市| 扶沟县| 崇仁县| 沙雅县| 湟源县| 香港 | 巴南区| 云安县|