網路程式設計基礎知識點

2022-08-29 21:27:19 字數 1327 閱讀 8640

首先先看一張計算機網路示意圖,如下所示:

這兩台計算機要完成一次通訊需要具備三個元素,埠號,ip位址,通訊協議,下面根據這三個元素展開。

ip位址

ip位址就是通常是點分十進位制來表示,形式如「10.111.193.254」,它具有全球唯一性,表示通訊身份位址。

通訊協議

只有使用相同的規則,兩個計算機才能完成網路間的通訊,主要有兩種協議:乙個是國際標準組織定義的osi七層模型,乙個是tcp/ip模型,兩個模型如下圖所示。

tcp是面向連線的可靠的傳輸協議,利用tcp協議進行通訊時,首先要通過三步握手,以建立通訊雙方的連線,一旦連線建立好,就可以進行通訊了。

udp是無連線的、不可靠的傳輸協議。採用udp進行通訊時,不需要建立連線,可以向乙個ip位址傳送資料,但不能確定一定能收到。

埠號

為了標識通訊實體中的應用程式,tcp/ip協議提出了埠的概念,埠號用乙個整型識別符號來表示,它和協議相關,不同協議有之間埠號是相互隔離的。

埠是一種抽象的軟體結構(包括一些資料結構和i/o緩衝區)。應用程式通過系統呼叫與某個埠建立連線(binding)後,傳輸層傳給該埠的資料都被相對應的應用程式所接收;相反的應用程式所發出的資料也從這個埠傳出。

我們編寫的應用程式的埠號都需要在1024以上,範圍是0~65535,1024以下是給預定義的服務使用的。比如http是80埠。

網路位元組順序

由於不同的計算機採用的架構不同,有大端模式和小端模式的,為了在網路中不同主機間進行通訊,統一採用網路位元組序,也就是大端模式。

客戶/伺服器模式

在tcp/ip網路應用程式中,通訊的兩個程序主要採用的模式是客戶機/伺服器模式(c/s模式);需要伺服器先啟動,客戶端發起請求,根據請求提供相應的服務。

套接字

套接字(socket)存在於通訊區域中,目前window socket只支援乙個通訊區域:網際遇(af_inet);

socket可以認為是乙個通訊的實體,在客戶端需要建立socket,伺服器端也需要建立socket;並且c/s模式是一對多的,客戶端發起乙個請求,伺服器接受乙個請求後,需要建立新的socket用於本次與客戶端的通訊,伺服器最開始建立的套接字繼續用於監聽新的請求。

基礎知識點

1 inline block布局 2 table布局 3 justify的末行不對齊 4 兩個圖示之間有空格 換行 5 背景中的的 路徑的 全部斜槓都為 不是 命令列下的這種 doctype html html head meta charset utf 8 title xx title head ...

物件導向程式設計 基礎知識點

類,是對一類事物的抽象描述。所謂抽象描述,就是將這一類事物所共有的屬性特徵 成員屬性 和行為方法 成員方法 抽取出來。物件導向的特點 封裝性 繼承性 多型性。1 宣告類 2 宣告成員屬性 3 例項化類物件 4 訪問公有成員屬性 5 呼叫公有成員方法 6 this 定義類 class user 例項化...

erlang基礎知識點

1 變數是不可改變的,必須以首字母大寫開頭 2 字串就是小寫字母,或者單引號引起來的字串 3 賦值可以使用匹配模式 4 資料結構有元組,取值用匹配模式來取值 就能取到x,b的值 5 資料結列表 ss,aa,取值是用 head foot 的形式取值 頭和尾的形式匹配 6 字串只能用雙引號表示 7 函式...