Socket基於TCP和UDP程式設計基本步驟

2021-09-24 17:09:13 字數 1549 閱讀 2338

tcp程式設計的伺服器端一般步驟是:

1、建立乙個socket,用函式socket(); 

2、設定socket屬性,用函式setsockopt(); * 可選 

3、繫結ip位址、埠等資訊到socket上,用函式bind(); 

4、開啟監聽,用函式listen(); 

5、接收客戶端上來的連線,用函式accept(); 

6、收發資料,用函式send()和recv(),或者read()和write(); 

7、關閉網路連線; 

8、關閉監聽; 

tcp程式設計的客戶端一般步驟是:

1、建立乙個socket,用函式socket(); 

2、設定socket屬性,用函式setsockopt();* 可選 

3、繫結ip位址、埠等資訊到socket上,用函式bind();* 可選 

4、設定要連線的對方的ip位址和埠等屬性; 

5、連線伺服器,用函式connect(); 

6、收發資料,用函式send()和recv(),或者read()和write(); 

7、關閉網路連線;

udp程式設計的伺服器端一般步驟是:

1、建立乙個socket,用函式socket(); 

2、設定socket屬性,用函式setsockopt();* 可選 

3、繫結ip位址、埠等資訊到socket上,用函式bind(); 

4、迴圈接收資料,用函式recvfrom(); 

5、關閉網路連線; 

udp程式設計的客戶端一般步驟是:

1、建立乙個socket,用函式socket(); 

2、設定socket屬性,用函式setsockopt();* 可選 

3、繫結ip位址、埠等資訊到socket上,用函式bind();* 可選 

4、設定對方的ip位址和埠等屬性; 

5、傳送資料,用函式sendto(); 

6、關閉網路連線;

tcp與udp的程式設計區別

基於連線與無連線 

對系統資源的要求(tcp較多,udp少) 

udp程式結構較簡單 

流模式與資料報模式 

tcp保證資料正確性,udp可能丟包 

tcp保證資料順序,udp不保證 

部分滿足以下幾點要求時,應該採用udp 面向資料報方式 網路資料大多為短訊息 

1.擁有大量client 

2.對資料安全性無特殊要求 

3.網路負擔非常重,但對響應速度要求高 

具體程式設計時的區別 socket()的引數不同

udp server不需要呼叫listen和accept 

udp收發資料用sendto/recvfrom函式 

tcp:位址資訊在connect/accept時確定 

udp:在sendto/recvfrom函式中每次均 需指定位址資訊 

udp:shutdown函式無效 

基於tcp和udp的socket通訊

做個小遊戲的project用到了socket程式設計,於是,就在網上查閱了一下資料,下面簡單總結一下。1.什麼是socket socket是在應用層與傳輸層之間的乙個抽象層,它把tcp ip層複雜的操作抽象為幾個介面 用層的程序實現網路通訊,使得不同主機的相關程序之間交換資料。2.什麼是tcp和ud...

基於Socket的UDP和TCP協議

一 概述 tcp 傳輸控制協議 和udp 使用者資料報協議 是網路體系結構tcp ip模型中傳輸層一層中的兩個不同的通訊協議。tcp 傳輸控制協議,一種面向連線的協議,給使用者程序提供可靠的全雙工的位元組流,tcp套介面是位元組流套介面 stream socket 的一種。udp 使用者資料報協議。...

基於TCP和UDP的Socket網路應用程式

基於tcp和udp的socket網路應用程式 計算機網路課設 一 需求分析 利用socket編寫乙個簡單的網路應用程式,獲取伺服器當前的時間和日期。說明與要求 1 對客戶與伺服器之間使用的協議進行設計。2 分別採用流式套接字和資料報套接字進行實現。二 程式設計 2.1 基於tcp協議的流程 編寫用t...