Day 19 - Socket 连线

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时常用在少量的资料传输上。


<<:  RISC-V: 介绍

>>:  JS 04 - 变数类型

DAY1:我竟然参加铁人赛了!!!

铁人赛!!! 30天的铁人赛,先报名再说,管他有没有准备好,给自己一点磨练吧! 大家好,我简单的自我...

IOS、Python自学心得30天 Day-30 简单辨识范例

范例如下: 程序码: // // ViewController.swift // Dog Breed...

新新新手阅读 Angular 文件 - Get data from a server(1) - Day10

学习目标 本文章将会是阅读官方文件 Get data from a server 内容所做的笔记。 ...

[Day7] 提升

何谓提升(Hoisting)? 提升(Hoisting) 其实主要是为了厘清 JavaScript ...

IT铁人第29天 Elasticsearch 使用python查询资料 Aggregations:Terms

今天的文章要介绍的是Bucket Aggregations的一种聚合方式,其实Metrics Agg...