国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

Linux環境下局域網通信系統的設計與實現

發布時間:2010-8-4 12:27    發布者:lavida
關鍵詞: linux , 局域網 , 通信系統
1 引 言

客戶機/服務器模型中,發起連接的計算機被稱為客戶機,接收并建立連接的計算機被稱為服務器。根據此模型,計算機網絡通信也多采用架設服務器并通過服務器轉發的方式進行客戶機之間的數據通信,然而,這種網絡通信方式存在一定的缺點,主要在于:  

(1)如果網絡中各主機間需要通信,就必須先要架設服務器,使用非常不方便。  
(2)各個網絡主機之間的通信數據必須先由源客戶機發給服務器,再通過服務器轉發至目的客戶機,因此數據并沒有在客戶機之間直接傳遞,通信效率較低。  

本文就是針對以上問題,以客戶機/服務器模型為基礎,設計出一種不需要服務器支持的局域網通信系統,使局域網內不同計算機問的通信不再需要通過服務器中轉,實現了不同計算機問的數據的直接傳輸。  

2 系統框架設計  

ISO的OSI七層模型中,傳輸層有TCP和UDP兩種協議,對應于這兩種協議有流式套接字和數據報套接字。該系統使用了UDP廣播消息和建立TCP連接進行數據傳輸的方式。  

多線程的并行處理可以提高程序的吞吐量,多任務的相互獨立性也使程序在運行時間效率方面得到提高。網絡通信中任務繁雜,因此將網絡通信機制與多線程并行處理機制結合是一種有效的解決方案。該系統的通信任務主要通過3個線程并行完成,分別為:  

(1)負責收發廣播的線程:該線程通過收發廣播消息的形式,獲得局域網內使用該系統的計算機信息。將局域網內使用該系統的計算機信息添加進本地鏈表;將局域網內退出該系統的計算機信息從本地鏈表中刪除。本地鏈表維護了局域網內所有使用該系統的計算機的信息,為系統其他功能的實現提供數據。  
(2)負責監聽端口建立連接的線程:該線程的功能類似于客戶機/服務器模型中的服務器端,對局域網中的連接請求進行監聽,對于新的連接請求建立新的Socket用于連接,并且對于不同的連接請求創建新的數據接收線程,用于處理連接后的消息傳遞以及文件傳輸等功能。  
(3)負責處理外部終端控制命令的線程:該線程用于該系統與用戶的交互,處理外部終端的控制命令,并對于不同的命令實現相應的功能。

3 系統實現具體流程  

3.1 發送和接收廣播的線程設計流程  

廣播消息線程使用UDP套接口,他與TCP套接口的主要區別在于通信雙方不需要事先建立連接即可收發數據。該線程工作流程如下:  

(1)主機在局域網中廣播本機“上線”消息;  
(2)主機等待接收局域網中的廣播消息;  
(3)如果主機收到其他計算機“上線”廣播消息,則將發送該廣播消息的計算機信息添加進本地鏈表,并且回復“確認”廣播消息;如果主機收到“確認”廣播消息,則對發送該廣播消息的計算機信息進行判斷,如果鏈表中沒有記錄,則添加進本地鏈表;如果主機收到“離線”廣播消息,則將發送該消息的計算機在本地鏈表中的信息刪除。  

3.2 監聽端口建立連接的線程設計流程  

該線程監聽TCP套接口,對于不同的連接請求創建新的數據接收線程并發處理。工作流程如下:  

(1)創建本地Socket,并監聽局域網中的連接請求;  
(2)如果有連接請求進人,接收連接請求,并創建新的Socket和數據接收線程用于該連接的數據通信功能的實現。  

因為該系統提供文件傳輸功能,所以在數據接收線程接收到數據包后,需要判斷該數據包中的信息是否為文件傳輸開始標志。如果是文件傳輸開始標志,表明信息發送方將傳輸文件,則主機進入文件接收工作程序;如果不是文件傳輸開始標志,則主機在終端上顯示接收到的消息。

3.3 命令處理線程的主要控制命令及其設計流程  

(1)局域網在線計算機查詢命令:順序讀取主機鏈表中所維護的所有的節點信息,終端顯示局域網中所有在線計算機情況,包括其主機名、IP地址等;  
(2)主機離線命令:廣播“離線”消息,斷開Socket連接,結束進程。  
(3)發起連接命令:通過查詢系統維護的計算機信息鏈表,獲得想要與之建立連接的計算機的信息,發起連接,若連接成功,創建數據發送線程用于處理連接后的命令操作以及數據通信,并且阻塞命令處理線程,直到數據發送線程結束返回。  

數據發送線程對終端輸入進行讀取和判斷,如果是文件傳輸命令,則進入文件發送工作程序;否則,直接發送消息。  

4 系統實現主要代碼  




5 結 語  

本文基于網絡Socket通信原理與多線程技術,給出了在Linux環境下不需要服務器支持的網絡通信系統的設計與算法實現,此實現方法使局域網的計算機間通信效率得到了提高并且該系統使用非常方便,適用于局域網計算機間的即時數據通信。如何在此系統框架的基礎上添加更多的數據通信功能以及如何加快文件傳輸速度將是進一步的研究工作。
本文地址:http://www.qingdxww.cn/thread-19160-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 想要避免發生災難,就用MPLAB SiC電源仿真器!
  • 利用模擬開發工具生態系統進行安全電路設計
  • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
  • 你仿真過嗎?使用免費的MPLAB Mindi模擬仿真器降低設計風險
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99精品国产高清一区二区麻豆 | 久久国产精品麻豆映画 | 夜夜天天干 | 日韩欧美色视频在线观看 | 欧美视频一区二区专区 | 四虎永久免费网站免费观看 | 国产大战女模特在线视频 | 久久线看观看精品香蕉国产 | 青青草综合网 | 老司机精品99在线播放 | 日本不卡在线一区二区三区视频 | 最新国语自产精品视频在 | www.亚洲精品.com | 欧美a免费| 国产快播 | 久久精品成人一区二区三区 | 欧美成a人免费观看久久 | 天堂网在线观看 | 亚洲偷自 | 福利国模私拍视频在线观看 | 日韩看片| 久久精品高清 | 97在线观看视频免费 | 精品三级在线观看 | 成年性羞羞视频免费观看 | 家庭教师姐姐 | 真探秦先生电视剧在线 | 麻豆成人免费视频 | 老人free性hd老 | 最新国产三级在线观看不卡 | 在线观看毛片视频 | 8848com四虎| 四虎hk网址| 毛片资源网 | 亚洲一区二区三区在线视频 | 日本在线免费 | 欧洲一级毛片免费 | 免费观看呢日本天堂视频 | 一日本道加勒比高清一二三 | 我不卡神马 | 高清色黄毛片一级毛片 |