在TCP/IP协议栈中,有两个高层协议是网络应用程序编写者应该了解的,他们是“传输控制协议”(Transmission Control Protocol,简称:TCP)和“用户数据报协议”(User Datagram Protocol,简称:UDP)。
TCP是面向连接的通信协议,TCP提供两台计算机之间的可靠无差错的数据传输。应用程序利用TCP进行通信时,源和目标之间会建立一个虚拟连接。这个连接一旦建立,两台计算机之间就可以把数据当作一个双向字节流进行交换。就像我们打电话一样,互相能听到对方的说话,也知道对方的回应是什么。
UDP是无连接通信协议,UDP不保证可靠数据的传输,但能够向若干个目标发送数据,接收发自若干个源的数据。简单地说,如果一个主机想另外一台主机发送数据,这一数据就会立即发出,而不管另外一台主机是否已经准备接收数据。如果另外一台主机收到了数据,他不会确认收到与否。
就像传呼机给用户发信息一样,传呼台并不知道你是否能收到信息(为避免丢失用户信息,他们常常将一条信息发送两遍)。
TCP、UDP数据包(也叫数据帧)的基本格式如下:
协议类型 | 源IP | 目标IP | 源端口 | 目标端口 | 帧序号 | 帧数据 |
相关推荐
Python编写 实现本地通信的简单UDP/TCP的socket连接的客户服务器程序 TCP的是基于Python2.7的 UDP的是基于Python3.7的
面向连接的TCP和面向非连接的UDP 协议详解。
支持代理udp和tcp协议。
udp和tcp套接字简单例子,两个程序,都有客户端和服务端,收发信息
udp和tcp套接字简单例子,客户端服务端之间互相发送接收信息,可以发文件
全方位的介绍了android 的UDP和TCP协议的差异、使用方法和上层的封装
android_开发之socket编程_UDP和TCP通信实现
本文详细介绍了基于Socket的UDP和TCP的编程原理和方法,适合于那些对UDP/TCP的socket编程不太清楚的同学
java网络编程UDP和TCP.pdf
Windows下面的UDP和TCP通信demo
用java编写的基于UDP和TCP两种协议编写的Socket(网络编程)案列
一个基于tcp和udp的客户端和服务器 实现tcp连接通信 udp进行数字运算返服务器回结果给客户端
《unix网络编程》第8章最后例子,使用select的UDP和TCP回射程序
穿越nat需要打洞,这个资源里面介绍了udp和tcp打洞方式 并有源代码
使用vb语言编程的udp和tcp协议服务器及客户端程序
基于Socket的UDP和TCP编程介绍. 直接用socket api进行通讯的列子
udp和tcp的区别在哪里.pdfudp和tcp的区别在哪里.pdf
udp和tcp的区别在哪里.docxudp和tcp的区别在哪里.docx