多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > 基于Client/Server模式的網絡編程總結

基于Client/Server模式的網絡編程總結

來源:程序員人生   發布時間:2013-11-04 20:00:16 閱讀次數:4988次

建站學院轉載 寫完了這次的網絡作業(基于C/S模式的網絡套接字編程),先總結一下

一、基礎知識

1.C/S模式

C/S (Client/Server,客戶機/服務器)模式又稱C/S結構,是軟件系統體系結構的一種。C/S模式簡單地講就是基于企業內部網絡的應用系統。與 B/S(Browser/Server,瀏覽器/服務器)模式相比,C/S模式的應用系統最大的好處是不依賴企業外網環境,即無論企業是否能夠上網,都不影響應用。服務器通常采用高性能的PC、工作站或小型機,并采用大型數據庫系統,如ORACLE、SYBASE、InfORMix或 SQL Server。客戶端需要安裝專用的客戶端軟件。傳統的C/S體系結構雖然采用的是開放模式,但這只是系統開發一級的開放性,在特定的應用中無論是Client端還是Server端都還需要特定的軟件支持。由于沒能提供用戶真正期望的開放環境,C/S結構的軟件需要針對不同的操作系統系統開發不同版本的軟件,加之產品的更新換代十分快,已經很難適應百臺電腦以上局域網用戶同時使用。而且代價高,效率低。

2.C/S模式的優缺點

C/S結構的優點是能充分發揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務器。對應的優點就是客戶端響應速度快。缺點主要有以下幾個:

  只適用于局域網。而隨著互聯網的飛速發展,移動辦公和分布式辦公越來越普及,這需要我們的系統具有擴展性。這種方式遠程訪問需要專門的技術,同時要對系統進行專門的設計來處理分布式的數據。

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

對客戶端的操作系統一般也會有限制。可能適應于Win98, 但不能用于win2000或Windows XP。或者不適用于微軟新的操作系統等等,更不用說Linux、Unix等。

3.C/S模式與B/S模式比較分析

C/S模式主要由客戶應用程序(Client)、服務器管理程序(Server)和中間件(middleware)三個部件組成。客戶應用程序是系統中用戶與數據進行交互的部件。服務器程序負責有效地管理系統資源,如管理一個信息數據庫,其主要工作是當多個客戶并發地請求服務器上的相同資源時,對這些資源進行最優化管理。中間件負責聯結客戶應用程序與服務器管理程序,協同完成一個作業,以滿足用戶查詢管理數據的要求。
  B/S模式是一種以Web技術為基礎的新型的MIS系統平臺模式。把傳統C/S模式中的服務器部分分解為一個數據服務器與一個或多個應用服務器(Web服務器),從而構成一個三層結構的客戶服務器體系。
  第一層客戶機是用戶與整個系統的接口。客戶的應用程序精簡到一個通用的瀏覽器軟件,如Netscape Navigator,微軟公司的IE 等。瀏覽器將HTML代碼轉化成圖文并茂的網頁。網頁還具備一定的交互功能,允許用戶在網頁提供的申請表上輸入信息提交給后臺,并提出處理請求。這個后臺就是第二層的Web服務器。
  第二層Web服務器將啟動相應的進程來響應這一請求,并動態生成一串HTML代碼,其中嵌入處理的結果,返回給客戶機的瀏覽器。如果客戶機提交的請求包括數據的存取,Web服務器還需與數據庫服務器協同完成這一處理工作。
  第三層數據庫服務器的任務類似于C/S模式,負責協調不同的Web服務器發出的SQ請求,管理數據庫。

4.套接字

    套接字,簡單的說就是通信的兩方的一種約定,用套接字中的相關函數來完成通信過程。

  應用層通過傳輸層進行數據通信時,TCP和UDP會遇到同時為多個應用程序進程提供并發服務的問題。多個TCP連接或多個應用程序進程可能需要通過同一個 TCP協議端口傳輸數據。為了區別不同的應用程序進程和連接,許多計算機操作系統為應用程序與TCP/IP協議交互提供了稱為套接字(Socket)的接口。

區分不同應用程序進程間的網絡通信和連接,主要有3個參數:通信的目的IP地址、使用的傳輸層協議(TCP或UDP)和使用的端口號。Socket原意是 “插座”。通過將這3個參數結合起來,與一個“插座”Socket綁定,應用層就可以和傳輸層通過套接字接口,區分來自不同應用程序進程或網絡連接的通信,實現數據傳輸的并發服務。

 

5.套接字連接的三種方式

如何使用套接字進行通信呢?服務器程序會首先啟動,然后它就只是等待來自客戶的請求.通常,由客戶程序發起一個連接,指向它希望連接的服務器.當客戶發出請求時,服務器可以接受這個連接,變即啟動一個特定的服務器端套接字,通過它與客戶端套接字相連.為了支持這種操作模式. 可以使用三種不同的套接字連接:
1 : 客戶連接(Client connections)由客戶啟動,并將本地客戶套接字與遠程服務器套接字相連.客戶套接字必須說明它們想連接的服務器.需要提供服務器的主機名或IP地址及其端口號.
2 : 監聽連接(Listening Connections) 是等待客戶的被動服務器套接字連接.一旦客戶發出了新的請求,服務器就會為該特殊連接生成新的套接字,然后返回監聽狀態.監聽服務器套接字必須說明代表其提供服務的端口嗎(事實上,客戶正是通過該端口進行連接的).
3 : 服務器連接是由服務器激活的連接,負責接受來自客戶的請求.
     這些不同的連接種類只對建立客戶與服務器之間的連接具有重要性.一旦連接建立完畢.連接的雙方都可以自由發出請求并彼此發送數據.

 

6. 三種類型的套接字

流式套接字(SOCK_STREAM)

提供了一個面向連接、可靠的數據傳輸服務,數據無差錯、無重復地發送,且按發送順序接收。內設流量控制,避免數據流超限;數據被看作是字節流,無長度限制。文件傳送協議(FTP)即使用流式套接字。

數據報式套接字(SOCK_DGRAM)

提供了一個無連接服務。數據包以獨立包形式被發送,不提供無錯保證,
數據可能丟失或重復,并且接收順序混亂。網絡文件系統(NFS)使用數據報式套接字。
原始式套接字(SOCK_RAW)

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产一区二区精品久久 | 欧美伦理三级在线播放影院 | 久久免费国产精品一区二区 | 精品国产福利在线观看网址2022 | 日韩欧美一区二区不卡看片 | 亚洲另类老妇videos | 嫩草影院在线观看未满十八 | 另类小说综合网 | 国产精品欧美亚洲区 | 三级黄视频 | 欧美日韩国 | 在线观看亚洲天堂 | 日日夜夜精品免费视频 | 无码精品一区二区三区免费视频 | www春色com| 久久国产视频在线观看 | 一级毛片视频在线 | 日美欧韩一区二去三区 | 日韩高清欧美精品亚洲 | 又污又黄又无遮挡网站 | 免费欧美一级 | 国产欧美一区二区三区精品 | 久热在线视频精品网站 | 一级欧美一级日韩毛片99 | 中文字幕在线观看网址 | 亚洲国产成人久久一区二区三区 | 欧美精品一区二区三区免费观看 | 国产永久福利 | free性欧美另类hd | 在线观看视频 | 精品国产福利久久久 | 视频免费在线观看 | 成人中文字幕一区二区三区 | 日本一区毛片免费观看 | 亚洲国产日韩欧美在线a乱码 | 欧美成人综合在线观看视频 | 欧美乱大交黑人 | 久久国产一区二区 | 羞羞动漫免费看 | 中文字幕亚洲专区 | 中文字幕色站 |