TCP与UDP的比较

TCP:面向连接
    传输控制协议 ,提供的是 面向连接 、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据, 流量控制 等功能,保证数据能从一端传到另一端。

UDP:面向无连接
    用户数据报协议 ,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而 传输速度 很快。

TCP创建流程:

服务器:

      创建一个socket,用函数socket(); 
  设置socket属性,用函数setsockopt();
  绑定IP地址、端口等信息到socket上,用函数bind(); 
  开启监听,用函数listen(); 
  接收客户端上来的连接,用函数accept(); 
  收发数据,用函数send()和recv(),或者read()和write(); 
  关闭网络连接; 
  关闭监听; 
客户端:
      创建一个socket,用函数socket(); 
  设置socket属性,用函数setsockopt();
  绑定IP地址、端口等信息到socket上,用函数bind();
  设置要连接的对方的IP地址和端口等属性; 
  连接服务器,用函数connect(); 
  收发数据,用函数send()和recv(),或者read()和write(); 
  关闭网络连接;


UDP创建流程:

服务器:
       创建一个socket,用函数socket(); 
  设置socket属性,用函数setsockopt();
  绑定IP地址、端口等信息到socket上,用函数bind(); 
  循环接收数据,用函数recvfrom(); 
  关闭网络连接;
客户端:
      创建一个socket,用函数socket(); 
  设置socket属性,用函数setsockopt();
  绑定IP地址、端口等信息到socket上,用函数bind();
  设置对方的IP地址和端口等属性; 
  发送数据,用函数sendto(); 
  关闭网络连接;

   TCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。
  



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值