的通信是无连接的因此不需要使用套接字 之间的通信必须要在两个套接字之间建立连接 传输控制协议 最主要的特点 是面向连接的。应用程序在使用 协议之前必须先建立连接。在传送数据完毕后必须释放已经建立的 连接。 每条 连接只能有两个端点 每条 连接只能是点对点 对 提供可靠交付的服务。通过 连接传送的数据无差错不丢失不重复并且按序到达。 提供全双工通信。 允许通信双方。 连接的两端都设有发送缓存和接收缓存用来临时存放双方通信的数据。
在发送时应用程序在把数据传送给 的缓存后就可以做自己的事而 在合适的时候把数据发送出去 是面向字节流的 中的 流 指的是流入到进程或从进程流出的字节序列 图 指出 和 在发 瑞士电话号码表 送报文时所采用的方式完全不同。 并不关心应用进程次把多长的报文发送到 的缓存中而是根据对方给出的窗口值和当前网络拥塞的程度来决定个报文段应包含多少个字节 发送的报文长度是应用进程给出的 。

如果应用进程传送到 缓存的数据块太大 就可以把它划分短些再传送。如果应用程序次只发来个字节 也可以等到积累有足够多的字节后再构成报文段发送出去。 的连接 每条 连接有两个端点这两个端点叫做套接字 套接字 地址 端口号 每条 连接唯地被通信两端的两个端点 即两个套接字 所确定。 即 连接 这里 和 分别是两个端点主机的 地址而 和 分别是两个端点主机中的端口。号 和 主要区别 是有连接的 是无连接的 提供可靠交付的服务 。