在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于客戶機/服務器模型實現局域網通信系統的設計

電子設計 ? 來源:現代電子技術 ? 作者:劉慶之 , 武波 ? 2021-05-28 10:17 ? 次閱讀

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環境下不需要服務器支持的網絡通信系統的設計與算法實現,此實現方法使局域網的計算機間通信效率得到了提高并且該系統使用非常方便,適用于局域網計算機間的即時數據通信。如何在此系統框架的基礎上添加更多的數據通信功能以及如何加快文件傳輸速度將是進一步的研究工作。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 計算機
    +關注

    關注

    19

    文章

    7536

    瀏覽量

    88643
  • 服務器
    +關注

    關注

    12

    文章

    9304

    瀏覽量

    86067
  • 局域網
    +關注

    關注

    5

    文章

    761

    瀏覽量

    46396
收藏 人收藏

    評論

    相關推薦

    CC3200可以同時控制局域網和廣域網嗎?

    CC3200可以同時創建兩個socket,實現局域網和廣域網的同時控制嗎?第1個socket做為tcp socket客戶端連接云服務器的遠程服務器端口。第2個socket做為tcp s
    發表于 04-01 15:25

    客戶labview與服務器SQL連接,客戶機需要裝SQL數據庫嗎?

    服務器A裝有數據庫SQL 2008,想在客戶機B用labview在A上建數據庫及表,在客戶機B上需要安裝SQL嗎?在A上應該怎樣設置呢?新手求大神幫助,要是有源碼更好,謝謝!
    發表于 06-12 07:46

    用Visual C#實現局域網通

    用Visual C#實現局域網通
    發表于 01-08 15:17

    labview OPC UA是否只能在局域網中使用

    首先使用Labview OPC UA 的范例進行實驗。實驗一:本地連接在同一臺電腦上啟動服務器客戶機,通訊正常。實驗二:分設備連接在兩臺電腦上實驗,一臺做客戶機一臺做服務器。這里
    發表于 07-24 15:09

    使用TCP/IP軟件協議棧以實現局域網或者廣域網中的通信

    和 STM32F2x7xx 微控制配有高質量 10/100 Mbit/s 以太網外設,支持媒 體獨立接口 (MII)和縮減的媒體獨立接口 (RMII),以便與物理層 (PHY)接口。 當使用以太網通信接口時,會使用 TCP/IP 軟件協議棧以
    發表于 08-24 06:30

    NodeMCU作為TCP客戶端是如何實現局域網內點亮Led燈的

    TCP是什么?NodeMCU作為TCP客戶端是如何實現局域網內點亮Led燈的?
    發表于 12-21 06:44

    遠程訪問服務器局域網接口

    遠程訪問服務器局域網接口              局域網接口主要是用于遠程訪問服務器
    發表于 01-08 14:28 ?1192次閱讀

    什么是客戶機/服務器計算

    什么是客戶機/服務器計算 客戶機/服務器計算定義一種體系結構,在該結構中,程序邏輯分布在客戶機系統
    發表于 04-06 17:25 ?4943次閱讀

    NTP網絡時間服務器在大型局域網的同步技術

    本章利用雙機互備型ntp網絡時間服務器實現局域網的時間同步解決方案。 1時間同步系統的配置全網配置一套時間同
    發表于 07-24 15:48 ?1964次閱讀

    用Visual C#實現局域網通

    用Visual C#實現局域網通
    發表于 01-07 21:24 ?0次下載

    samba服務器配置

    通信協議,它為局域網內的不同計算機之間提供文件及打印機等資源的共享服務。SMB協議是客戶機/服務器型協議,
    發表于 11-22 17:09 ?1591次閱讀
    samba<b class='flag-5'>服務器</b>配置

    使用服務器客戶機及java進行網絡通信的程序和流程圖免費下載

    本文檔的主要內容詳細介紹的是使用服務器客戶機及java進行網絡通信的程序和流程圖免費下載。
    發表于 06-03 08:00 ?0次下載
    使用<b class='flag-5'>服務器</b>和<b class='flag-5'>客戶機</b>及java進行網絡<b class='flag-5'>通信</b>的程序和流程圖免費下載

    局域網通信】NodeMCU之間的通信(二)

    和端口號。NodeMCU作為TCP客戶實現局域網內點亮Led燈(通過路由中轉)NodeMCU可以被配置為一個TCP客戶端(如圖4-1),同時將一臺網絡設備(如電腦)配置為TCP
    發表于 10-28 10:06 ?9次下載
    【<b class='flag-5'>局域網通信</b>】NodeMCU之間的<b class='flag-5'>通信</b>(二)

    為什么需要基于服務器局域網?

    如果您的公司經營多臺計算機,則有重要的原因,您應該通過局域網局域網連接它們。要實現LAN的全部優勢,您將需要添加一臺稱為服務器的集中式計算機來管理和優化網絡。 基于
    的頭像 發表于 11-18 15:23 ?909次閱讀

    怎么打開局域網通訊協議

    怎么打開局域網通訊協議? 局域網通訊協議(Local Area Network Protocol,縮寫為LAN)是指計算機網絡中用于實現局域網通信的一種協議。局域網通訊協議是
    的頭像 發表于 08-31 17:02 ?1291次閱讀
    主站蜘蛛池模板: 亚洲电影一区二区三区 | 久久永久视频 | 99se亚洲综合色区 | 欧美在线成人午夜影视 | 免费在线黄色网 | 2021韩国理论片ok电影天堂 | 午夜免费看片 | 亚洲午夜久久久久久91 | 天堂网在线最新版www | 久久国产精品99精品国产987 | 小屁孩cao大人免费网站 | 人与性www | 国产精品欧美激情第一页 | 夜夜操综合 | 91国内在线视频 | 性欧美videofree视频另类 | 色老二精品视频在线观看 | 91久久国产青草亚洲 | 国产视频综合 | 免费观看成人欧美1314www | 午夜美女影院 | 在线观看免费精品国产 | 国产午夜免费一区二区三区 | 天天艹天天艹 | 国产在线欧美精品卡通动漫 | 天天涩综合 | www.四虎影院在线观看 | 你懂在线| 国产激情久久久久影院小草 | 性生活黄色毛片 | 午夜毛片不卡高清免费 | 日韩美香港a一级毛片 | 手机在线观看一级午夜片 | 天堂看动漫 | 欧美三级黄 | 亚洲欧美在线观看 | 99热久 | 四虎永久免费网站入口2020 | 夜夜操操操 | 欧美精品aaa久久久影院 | 五月天丁香婷婷开心激情五月 |