iT邦幫忙

2021 iThome 鐵人賽

DAY 19
0

Day 19 - Socket 連線
昨天我們講解了如何讓我們能在程式內切換分頁,今天我們就換個口味,今天我要講的是Socket的連線,這在我們之後寫的程式會用到,我今天會講兩種協議,分別是UDP和TCP,我主要會強調在TCP上,因為我寫我的程式用的就是TCP協議。

TCP協議

TCP(Transmission Control Protocol 傳輸控制協議)是有面向的、複雜的、可靠且穩定的連線協議TCP比起UDP,TCP是基於連接,具有較好的錯誤偵測,也有重傳機制,並且會確認資料的順序正確,還有,TCP連線時會經過三次握手連接,就是因為上面這幾個特點,讓TCP時常會用在大量資料傳輸的場景,也因為這些特點,導致TCP協議的傳輸速度比UDP慢很多。

三次握手連接

第一次握手(SYN=1, seq=x):客戶端會向伺服端發送SYN=1和seq讓伺服端知道客戶端要進行連接

第二次握手(SYN=1, ACK=1, seq=y, ACKnum=x+1):伺服端確認連接,就向客戶端發送SYN=1, ACK=1, seq=y, ACKnum=x+1

第三次握手(ACK=1,ACKnum=y+1):客戶端ACKnum是否是對的,並確認ACK是否等於1,則向伺服端發送ACKnum=y+1,伺服確認完畢後,則建立連線

UDP協議

UDP協議基本就是跟TCP協議反過來,沒有重傳機制,不可靠,也不會確認資料順序正確,更沒有三次握手,但這也造成UDP比TCP快,吃比較少的資源,讓UDP時常用在少量的資料傳輸上。


上一篇
Day 18 - Android Studio 如何切換Activity(分頁)
下一篇
Day 20 - Android Studio的EditText的基本使用
系列文
來學習寫安卓手機的程式吧-Kotlin語言30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言