當前位置:首頁 > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導(dǎo)讀]摘要:被稱為信息時代的今天,互聯(lián)網(wǎng)應(yīng)用于各個領(lǐng)域。人們交流的需求和網(wǎng)絡(luò)的發(fā)展互為推動力,很多開發(fā)技術(shù)成熟的廣域網(wǎng)上的即時通訊工具,如MSN、QQ等被大家所熟悉并廣泛應(yīng)用,但這些產(chǎn)品的實現(xiàn)屬于商業(yè)機密,具體細節(jié)不可得之。文章論述了基于局域網(wǎng)的即時通訊系統(tǒng)的設(shè)計方法,以期借此理解網(wǎng)絡(luò)協(xié)議以及網(wǎng)絡(luò)通信工具的實現(xiàn)原理和方法。

高速公路要提供安全、快速、高效的服務(wù),離不開監(jiān)控系統(tǒng)的輔助管理,通過監(jiān)控系統(tǒng)采集到的全面和實時的信息,高效地進行路徑誘導(dǎo),從而提高道路的通行能力,以及對突發(fā)事件應(yīng)急指揮的響應(yīng)速度叫在此需求引導(dǎo)之下,管理和運營服務(wù)對聯(lián)網(wǎng)監(jiān)控、全程監(jiān)控的需求也更加迫切。隨著車流量的增加,高速公路上大范圍突發(fā)事件頻頻發(fā)生,緊急情況的交通應(yīng)急指揮問題日益凸顯,單一路段服務(wù)的監(jiān)控系統(tǒng)正朝為多條路徑的路網(wǎng)服務(wù)的方向轉(zhuǎn)化。作為連接各中心的橋梁,信息報送系統(tǒng)成為了監(jiān)控中心的關(guān)鍵。隨著科技水平的飛速發(fā)展,網(wǎng)路通訊應(yīng)用在各個平臺,但大多數(shù)網(wǎng)絡(luò)通訊都需要借助Internet上的服務(wù)器,因此在為用戶帶來便捷的同時也給用戶造成了許多問題,如遭遇到網(wǎng)絡(luò)攻擊、傳播的病毒、破壞防御系統(tǒng)等等。所以為了方便內(nèi)部網(wǎng)絡(luò)的信息交流,比如高速公路網(wǎng)監(jiān)控系統(tǒng)的總中心和分中心之間的溝通,基于局域網(wǎng)的即時通訊工具的開發(fā)成為一種趨勢。在2012年12月全國交通運輸工作會議中指出,要組織實施部省路網(wǎng)管理與應(yīng)急處置平臺建設(shè)和聯(lián)網(wǎng)工程,實現(xiàn)部路網(wǎng)中心與京津冀遼四省市路網(wǎng)中心互聯(lián)互通,指出要加快推進信息化建設(shè),推進具備條件的國家高速公路網(wǎng)區(qū)域貫通,發(fā)揮路網(wǎng)整體效益,加快部路網(wǎng)監(jiān)測與應(yīng)急處置中心建設(shè),推進省級路網(wǎng)中心示范工程和部省平臺聯(lián)網(wǎng)建設(shè),建立基本覆蓋重要國省干線公路出行信息服務(wù)平臺。這表明信息管理工作在突發(fā)事件應(yīng)急管理工作中具有極其重要的地位。

1系統(tǒng)總體設(shè)計的理論基礎(chǔ)

1.1C/S軟件架構(gòu)

C/S結(jié)構(gòu),即大家熟知的客戶機和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到Client端和Server端來實現(xiàn),降低了系統(tǒng)的通訊開銷叫目前,大多數(shù)應(yīng)用軟件系統(tǒng)都是Client/Server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)用發(fā)展,Web和Client/Server應(yīng)用都可以進行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件,因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。

C/S工作模式

Client和Server(Client/Server或客戶/服務(wù)器模式)常常分別處在相距很遠的兩臺計算機上。Client程序的任務(wù)是將用戶的要求提交給Server程序,再將Server程序返回的結(jié)果以特定的形式顯示給用戶;Server程序的任務(wù)是接收客戶程序提出的服務(wù)請求,進行相應(yīng)的處理,再將結(jié)果返回給客戶程序。

傳統(tǒng)的C/S體系結(jié)構(gòu)雖然采用的是開放模式,但這只是系統(tǒng)開發(fā)一級的開放性,在特定的應(yīng)用中無論是Client端還是Server端都還需要特定的軟件支持。

C/S結(jié)構(gòu)的優(yōu)點

C/S結(jié)構(gòu)的優(yōu)點是C/S架構(gòu)的界面和操作可以很豐富,很多工作可以在客戶端處理后再提交給服務(wù)器,故能充分發(fā)揮客戶端PC的處理能力,而且客戶端響應(yīng)速度快。其缺點主要有以下幾個:

第一,c/s結(jié)構(gòu)只適用于局域網(wǎng)。隨著互聯(lián)網(wǎng)的飛速發(fā)展,移動辦公和分布式辦公越來越普及,這需要系統(tǒng)具有擴展性。這種方式遠程訪問需要專門的技術(shù),同時要對系統(tǒng)進行專門的設(shè)計來處理分布式的數(shù)據(jù)。

第二,客戶端需要安裝專用的客戶端軟件。首先涉及到安裝的工作量,其次任何一臺電腦出問題,如病毒、硬件損壞,都需要進行安裝或維護。特別是有很多分部或?qū)Yu店的情況,不是工作量的問題,而是路程的問題。還有,系統(tǒng)軟件升級時,每一臺客戶機需要重新安裝,其維護和升級成本非常高。

第三是對客戶端的操作系統(tǒng)一般也會有限制。

B/S與C/S的區(qū)別

C/S和B/S并沒有本質(zhì)的區(qū)別,B/S是基于特定通信協(xié)議(HTTP)的C/S架構(gòu),是特殊的C/S架構(gòu),而B/S的提出也是為了滿足瘦客戶端和一體化客戶端的需要。相比而言,B/S架構(gòu)可以節(jié)約客戶端更新、維護等的成本,卻要受到通信協(xié)議的制約。

1.2用戶數(shù)據(jù)報協(xié)議(UDP)

UDP協(xié)議是英文UserDatagramProtocol的縮寫,即用戶數(shù)據(jù)報協(xié)議,主要用來支持那些需要在計算機之間傳輸數(shù)據(jù)的網(wǎng)絡(luò)應(yīng)用。包括網(wǎng)絡(luò)視頻會議系統(tǒng)在內(nèi)的眾多的客戶/服務(wù)器模式的網(wǎng)絡(luò)應(yīng)用都需要使用UDP協(xié)議。

1.2.1UDP的概述

UDP協(xié)議的主要作用是將網(wǎng)絡(luò)數(shù)據(jù)流壓縮成數(shù)據(jù)報的形式[4]。UDP報頭由4個域組成,其中每個域各占用2個字節(jié),具體如下:

源端口號:UDP協(xié)議使用端口號為不同的應(yīng)用保留其各自的數(shù)據(jù)傳輸通道。數(shù)據(jù)發(fā)送一方(可以是客戶端或服務(wù)器端)將UDP數(shù)據(jù)報通過源端口發(fā)送出去。因為UDP報頭使用兩個字節(jié)存放端口號,所以端口號的有效范圍是從0~65535。一般來說,大于49151的端口號都代表動態(tài)端口。

目標端口號:數(shù)據(jù)接收一方則通過目標端口接收數(shù)據(jù)。

數(shù)據(jù)報長度:數(shù)據(jù)報的長度是指包括報頭和數(shù)據(jù)部分在內(nèi)的總的字節(jié)數(shù),從理論上說,包含報頭在內(nèi)的數(shù)據(jù)報的最大長度為65535字節(jié)。不過,一些實際應(yīng)用往往會限制數(shù)據(jù)報的大小,有時會降低到8192字節(jié)。

校驗值:UDP協(xié)議使用報頭中的校驗值來保證數(shù)據(jù)的安全。如果某個數(shù)據(jù)報在傳輸過程中被第三方篡改或者由于線路噪聲等原因受到損壞,發(fā)送和接收方的校驗計算值將不會相符,由此UDP協(xié)議可以檢測是否出錯。

1.2.2UDP與TCP的區(qū)別

UDP和TCP協(xié)議的主要區(qū)別是兩者在如何實現(xiàn)信息的可靠傳遞方面不同。UDP是一個無連接協(xié)議,傳輸數(shù)據(jù)之前源端和終端不建立連接,當它想傳送時就簡單地抓取來自應(yīng)用程序的數(shù)據(jù),并盡可能快地扔到網(wǎng)絡(luò)上。由于傳輸數(shù)據(jù)不建立連接,因此也就不需要維護連接狀態(tài),包括收發(fā)狀態(tài)等。通常人們把UDP協(xié)議稱為不可靠的傳輸協(xié)議。TCP協(xié)議中包含了專門的傳遞保證機制,當數(shù)據(jù)接收方收到來自發(fā)送方的信息時,會自動向發(fā)送方發(fā)出確認消息;發(fā)送方只有在接收到該確認消息之后才繼續(xù)傳送其他信息,否則將一直等待,直到收到確認信息為止。

既然UDP不如TCP可靠,選擇它的原因是什么呢?原因就是UDP具有TCP所望塵莫及的速度優(yōu)勢。雖然TCP協(xié)議擁有安全保障功能,但是在實際執(zhí)行的過程中會使速度受到嚴重影響,提供安全的同時它會占用大量的系統(tǒng)開銷。反之,UDP由于排除了信息可靠傳遞機制,將安全和排序等功能移交給上層應(yīng)用來完成,極大降低了執(zhí)行時間,使速度得到了保證。

廣播(BroadCast)

廣播的優(yōu)點是網(wǎng)絡(luò)設(shè)備簡單,維護簡單,布網(wǎng)成本低廉;由于服務(wù)器不用向每個客戶機單獨發(fā)送數(shù)據(jù),所以服務(wù)器流量負載極低。

廣播的缺點是無法針對每個客戶的要求和時間及時提供個性化服務(wù);網(wǎng)絡(luò)允許服務(wù)器提供數(shù)據(jù)的帶寬有限,客戶端的最大帶寬等于服務(wù)總帶寬。

Indy介紹

InternetDirect(Indy)是一組開放源代碼的Internet組件,涵蓋了幾乎所有流行的Internet協(xié)議。Indy用Delphi編寫,被包含在Delphi6、Kylix1和C++Builder6及以上各個版本的Borland開發(fā)環(huán)境中。Indy使用了阻塞式Socket調(diào)用方式。阻塞式訪問更像是文件存取。當你讀取數(shù)據(jù),或是寫入數(shù)據(jù)時,讀取和寫入函數(shù)將一直等到相應(yīng)的操作完成后才返回。本設(shè)計使用Indy來實現(xiàn)系統(tǒng)的廣播等功能。

2系統(tǒng)的主要界面設(shè)計

2.1系統(tǒng)登錄界面的設(shè)計

用戶通過輸入正確的用戶名與密碼可以進入系統(tǒng)的主界面。登錄界面用的主要組件介紹如下[1'2]:

Image:實現(xiàn)界面圖片的插入。

Lable:實現(xiàn)“用戶名”、“輸入密碼”“確認密碼"的標簽顯示。

Edit:實現(xiàn)輸入框功能。

Button:"確定"、"取消"按鈕,在Button鍵的Onclick事件中編寫代碼。點擊按鈕時,即可以分別激發(fā)相應(yīng)的事件。

圖1所示是登錄界面的效果示意圖。

基于Delphi的即時通訊系統(tǒng)的設(shè)計

圖1  登錄界面的效果圖

2.2主界面的設(shè)計

類似于QQ界面,主界面的設(shè)計用來顯示聯(lián)系人,并且進行聯(lián)系人的增加、刪減等。主要組件介紹:

MainMenu:主菜單控件Delphi7提供了兩種菜單控件:主菜單(MainMenu)和快捷式菜單(PopupMenu),它們都在Standard選項卡中。用鼠標雙擊MainMenu圖標,打開菜單設(shè)計器,然后進行菜單項的編輯。主界面中選用此組件是為了使各功能菜單在未使用的狀態(tài)下隱藏起來,從而做到界面的簡潔和規(guī)劃整齊。從高速公路網(wǎng)監(jiān)控系統(tǒng)的實際應(yīng)用出發(fā),設(shè)置了三項主功能菜單,即聯(lián)系人、關(guān)注(路段)、信息記錄。

ToolBar:工具欄控件。使用工具欄是為了用戶的操作方便,通過工具欄中的按鈕可以直接調(diào)用菜單中最常用的命令,然后通過ImageList控件中的圖片文件為ToolBar中增加的按鈕添加圖片。通常的按鈕只有圖片沒有文字,為了給用戶對按鈕實現(xiàn)的功能提供相關(guān)的提示信息,可通過設(shè)置每個按鈕的Hint屬性來實現(xiàn)。

Combobox:組合框控件。主界面選用Combobox控件來實現(xiàn)聯(lián)系人的列表顯示。將控件的Style屬性設(shè)置為csDropDown,既可以在編輯框中輸入,也可以通過下拉列表選擇項目。

Edit:實現(xiàn)輸入將要查找、添加、刪除的聯(lián)系人名稱。

圖2所示是主界面的效果圖。

基于Delphi的即時通訊系統(tǒng)的設(shè)計

圖2  主界面的效果圖

2.3會話界面的設(shè)計

會話界面用于實現(xiàn)雙方消息的收發(fā)、提醒、消息記錄的

保存和刪除等功能。圖3所示是其會話界面的效果圖。

基于Delphi的即時通訊系統(tǒng)的設(shè)計

圖3  會話界面的效果圖

3系統(tǒng)測試結(jié)果

分別運行系統(tǒng)的客戶端和服務(wù)端。在客戶端界面上,點擊“查找”按鈕,彈出一個GroupBox"精確查找”,輸入所在局域網(wǎng)的IP地址、端口號(port)以及用戶名。點擊“連接”按鈕,在消息輸入框中輸入將要發(fā)送的消息,然后點擊“發(fā)送”按鈕,消息就會同時顯示在客戶端以及服務(wù)端的消息顯示框內(nèi)。為了使消息的查詢功能方便執(zhí)行,和消息一同顯示的還有發(fā)送消息的時間。

4結(jié)語

事實上,在服務(wù)端界面上也可執(zhí)行相同操作。運行結(jié)果表明,本系統(tǒng)可以實現(xiàn)局域網(wǎng)內(nèi)即時消息的接收功能。

20211020_61702d0fd533b__基于Delphi的即時通訊系統(tǒng)的設(shè)計

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉