连接是对状态的保持,我是这样理解的
实际上就是在客户端和服务器端都维护一个变量,这个变量维护现在数据传输的状态,例如传输了哪些数据,下一次需要传输哪些数据,等等,并不是真的我们想象中的真的有什么东西连接着这两端,因为无论对于有连接还是无连接,都有网线连着呢(不包括无线网),所以连接根本就不是是否真的有什么东西把他们连接起来,真实的含义就是我上面说的,两边维护一个状态变量。
UDP通讯有四个参数:源IP、源端口、目的IP和目的端口。而TCP通讯至少有有六个参数:源IP、源端口、目的IP和目的端口,以及序列号和应答号。
序列号和应答号是TCP通讯特有的参数,TCP通讯利用序列号和应答号来保持和确认数据的关联与正确性,是在三次握手中确定的,不正确的序列号和应答号会导致无法正常通讯。因此对TCP连接的连接概念可以简单理解成为同UDP通讯相比,用序列号和应答号确定了相互之间的连接特征,来保证数据传输的正确性。
TCP保证可靠,面向连接而UDP不保证可靠,非面向连接,UDP的报头长度远远小于TCP的报头长度。TCP使用了三种基础机制来实现面向连接的服务:1 使用序列号进行标记,以便TCP接收服务在向目的应用传递数据之前修正错序的报文排序;2 TCP使用确认,校验,和定时器系统提供可靠性。3 TCP在应用层数据上附加了一个报头,报头包括序列号字段和这些机制的其他一些必要信息,如叫做端口号的地址字段,该字段可以标识数据的源点和目标应用程序。
我记我的看的书好象就是UDP发出去的包是不管的,对方也不会应答是否收到.TCP发出包之后对方会应答是否完整收到
可以在发包的时候采取类似创建TCP连接那样的操作,发消息,然后对方给一个ACK,然后发消息方再发一个ACK,这样算发送成功。
通过最简单的重传确认即可达到QQ现在做到的效果,简单说就是发送方一直发送数据,直到收到接收方的反馈再停止即可。
打电话时,一个人首先必须拨号(发出连接请求),等待对方响应,接听电话(建立了连接)后,才能够相互传递信息。通话完成后,还需要挂断电话(断开连接),才算完成了整个通话过程。写信则不同,你只需填写好收信人的地址信息,然后将信投入邮局,就算完成了任务。此时,邮局会根据收信人的地址信息,将信件送达指定目的地。
这个不是说他有个实际的连接,这个是个虚拟的连接,连接的保持信息不是由连接的路线来保存的,他是由连接的两方来保存其状态信息,这就是面向连接的