第十一章 網路程式設計

2022-09-14 07:36:07 字數 902 閱讀 1186

每個網路應用都是基於客戶端-服務端模型的。根據這個模型,乙個用用是由乙個伺服器和乙個或多個客戶端組成的。伺服器管理資源,以某種方式操作資源,為客戶端服務。例如,乙個web伺服器管理著一組磁碟檔案,它會代表客戶端進行檢索和執行。

客戶端-服務端模型中的基本操作是事務。乙個客戶端-伺服器事務由以下四步組成:

1、當乙個客戶端需要服務時,它向伺服器傳送乙個請求,發起乙個事務。

2、伺服器收到請求後,解釋它,並以適當的方式操作它的資源

3、伺服器給客戶端傳送乙個響應,並等待下乙個請求

4、客戶端收到響應並處理它

客戶端和伺服器通過網際網路這個全球網路來通訊。從程式設計師的觀點來看,我們可以把網際網路看成是乙個全球範圍的主機集合,具有以下幾個屬性:

1、每個網際網路主機都有乙個唯一的32位名字,稱為它的ip位址。ip位址通常是以一種成為點分十進位制表示法來表示,其中每個位元組由它的十進位制表示,並用句點和其他位元組分開。

2、ip位址的集合被對映為乙個網際網路網域名稱的集合。

3、不同網際網路主機上的程序能夠通過連線互相通訊。

乙個連線是由它兩端的套接字位址唯一確定的。

常見的幾個函式作用:

socket函式:客戶端和伺服器使用socket函式類建立乙個套接字描述符。

connect函式:客戶端呼叫connect函式來建立和伺服器的連線。

listen函式:將sockfd從乙個主動套接字轉換為乙個監聽套接字,該套接字可以接受來自客戶端的連線請求。

accept函式:伺服器通過呼叫accept函式來等待來自客戶端的連線請求。

web伺服器使用http協議和它們的客戶端彼此通訊。瀏覽器向伺服器請求靜態或動態的內容。對靜態內容的請求時通過從伺服器磁碟取得檔案並把它返回給客戶端來服務的。對動態內容的請求時通過在伺服器上乙個子程序的上下文中執行乙個程式並將它的輸出返回給客戶端來服務的。

第十一章程式設計題

2.在這個題目中,我的設計的不人性化在於,我必須要求使用者給輸入自己要輸入整數的大小,然後我再給他分配記憶體,這分明是通過折磨使用者來使自己的程式變得簡單,而guide s answer則是只需要使用者輸入你該輸入的數即可。程式設計的思路如下 1.先預設一定大小 巨集定義 的記憶體分配 2.然後在讀...

第十一章程式設計練習 1

list.h pragma once ifndef list h define list h include namespace vector private double x 分量 double y 分量 double mag 需要行走的距離 double ang 角度 move mode rec...

《程式設計珠璣》第十一章 排序

好久沒寫部落格了,最近挺忙的,忙的不可開交,可細想一下,又都是在瞎忙,渾渾噩噩的,不知自己到底忙什麼,又到底有什麼收穫。捫心自問,自己浪費了不少時間。不管怎樣,自己要把握好,有志者就要時時刻刻約束自己的行為,我要這樣嚴格要求自己,不管別人怎麼看待,也不管自己有多痛苦,堅持下去。當然,寫部落格也是一樣...