socket通訊之網路TCP,UDP詳細介紹

2021-09-11 18:14:25 字數 1864 閱讀 7427

目錄介紹

2.socket介紹

3.udp協議傳輸資料

4.tcp協議傳輸資料

5.三次握手建立連線

6.socket檔案傳輸

1.1 tcp和udp的區別

②tcp協議:

注:三次握手:

2.1 socket簡單介紹

2.2 socket工作**

3.1 客戶端傳送資料

/**

* 埠號

*/private

static

final

int port =

8080;/*

* udp協議傳送資料:

* 1.建立傳送端socket物件

* 2.建立資料,並把資料打包

* 3.呼叫socket物件傳送方法傳送資料報

* 4.釋放資源

*/private

void

udpsendmessage

(string serveraddress)

catch

(exception e)

}

3.2 服務端接收資料
/*

* udp協議接收資料:

* 1.建立接收端socket物件

* 2.建立乙個資料報(接收容器)

* 3.呼叫socket物件接收方法接收資料報

* 4.解析資料報

* 5.釋放資源

*/private

void

receive_udp()

catch

(exception e)

}

4.1 客戶端傳送資料
/**

* 埠號

*/private

static

final

int port =

8080

;/**

* @param serveraddress 要傳送到服務端的ip

* 1.建立socket並指定ip和埠號

* 2.獲取輸出流,寫資料

* 3.釋放資源

* 4.tcp一定要先開接收端

*/public

void

send_tcp

(string serveraddress)

catch

(unknownhostexception e)

catch

(ioexception e)

}

4.2 服務端接收資料
/**

* tcp協議接收資料

* 1.建立接收端的socket物件

* 2.監聽客戶端接收,返回乙個socket物件

* 3.獲取輸入流,讀取資料顯示在控制台

* 4.釋放資源

*/public

void

receive_tcp()

message message =

newmessage()

; message.obj = sb.

tostring()

; handler.

sendmessage

(message)

;//5.關閉

catch

(ioexception e)

}

5.1 三次握手原理圖

5.2 為什麼建立連線需要三次握手

5.3 四次握手斷開連線

**:瀟湘劍雨

Socket網路通訊

服務端的程式如下 1.建立乙個伺服器端socket,即serversocket,指定繫結的埠,並監聽此埠8888 serversocket serversocket new serversocket 8888 socket socket null 記錄客戶端的數量 int count 0 syste...

socket網路通訊

read write recv send readv writev recvmsg sendmsg recvfrom sendto include ssize t read int fd,void buf,size t count ssize t write int fd,const void bu...

socket網路通訊《二》

socket網路通訊 本文注意基於socket來分析tcp連線建立過程。先回顧一下tcp連線建立過程 主機a執行的是tcp客戶端程式,主機b執行的是tcp伺服器程式,最初兩端tcp程序處於closed態,a主動開啟連線,對應客戶端connect函式發起連線,b被動接受連線,對應於伺服器listen函...