網路通訊方式
現有的網路通訊方式有兩種:
1.TCP(傳輸控制通訊協定)方式
TCP是一種連線導向的可靠性傳輸協議,TCP方式就好比打電話,使用這種方式進行通訊時,需要建立專門的虛擬串連,然後進行可靠的資料轉送,如果資料發送失敗,則用戶端會自動重發該資料。
2.UDP(使用者資料包通訊協定)方式
UDP是一種不需連線的協議,每個資料報都是一個獨立的資訊,包括完整的源地址或目的地址,它在網路上以任何可能的路徑傳往目的地,因此能否到達目的地,到達目的地的時間以及內容的正確性都是不能被保證的。UDP方式就好比傳送簡訊,這種方式不需要建立專門的虛擬串連,傳輸也不可靠,如果發送失敗則用戶端無法獲得。
對比小結:
(1)這兩種網路通訊方式都是實際的網路編程中使用的,重要的資料一般使用TCP方式進行資料轉送,而大量的非核心資料則都通過UDP方式進行傳遞。
(2)由於TCP需要建立專用的虛擬串連以及確認傳輸是否正確,所以使用TCP方式的速度稍微慢一些,而且傳輸時產生的資料量要比UDP稍微大一些。
(3)使用UDP傳輸資料時是有大小限制的,每個被傳輸的資料報必須限定在64KB之內。而TCP沒有這方面的限制,一旦串連建立起來,雙方就可以按統一的格式傳輸大量的資料。(4)UDP是一個不可靠的協議,發送方所發送的資料報並不一定以相同的次序到達接收方。而TCP是一個可靠的協議,它確保接收方完全正確地擷取發送方所發送的全部資料。
網路編程的步驟
1.用戶端編程(Client端)
用戶端就是第一次發送通訊請求的一方,無論用戶端簡單還是複雜,都遵循用戶端編程的三個步驟,步驟如下:
(1)建立串連
用戶端需通過ip:port的形式向伺服器端發送請求,若建立好串連,這時串連是虛擬串連,然後就可以和伺服器端進行相互的資料傳遞了。
(2)交換資料
建立好串連後,用戶端和伺服器端嚴格按照要求-回應模式來進行資料通訊,用戶端發送一個請求,伺服器端接收處理響應回去,如果用戶端不請求,那麼伺服器端就不會響應。
(3)關閉串連
在用戶端請求,伺服器端響應結束後,之前建立的串連會關閉,用來釋放綁定的連接埠以及記憶體等資源。
2.伺服器端(Server端)
伺服器端就是被動等待串連的一方,用於接收用戶端的請求並處理響應。伺服器端遵循下面的四個步驟,步驟如下:
(4)監聽連接埠
伺服器端開啟後,伺服器端要預先監聽相應的連接埠,以等待用戶端來串連它。
(5)擷取串連
一旦用戶端和伺服器端的ip和連接埠匹配,此時,伺服器端就會獲得一個串連,一般的網路編程的伺服器端都會採用多線程的方式去處理多個用戶端的串連,一旦有用戶端串連,就會將用戶端放在一個單獨的線程中去執行相應的資料交換。
(6)交換資料
伺服器端要先接收用戶端的請求的資料,處理後,在發送給用戶端。
(7)關閉資源
用戶端和伺服器端資料交換完畢後,這時需要中斷連線,釋放相應的資源。