zoukankan      html  css  js  c++  java
  • TCP/UDP socket

    TCP socket:有链接,绑定端口,接着去侦听,若有请求,那么accept(),获得新的socket,并且去接收/发送数据报.

    UDP socket:无连接,不需要侦听,也不用一个新的socket去接收/发送数据包,但发送时就取决本身绑定的端口.

    UDP和TCP的对比:
    从以上的流程图看出,tcp步骤会比udp多,(tcp三次握手我没有列出来)
    UDP不能保证发送的data能到目的地,比如送信,邮递员只保证将信件投递到你家的邮筒,而不能保证你本人是否能收到,并且这个发送是没有顺序的。

    TCP则是确保发送的data能到达目的地,比如快递,需要你本人签收才行。
    TCP优缺点:
    优点:
    1.TCP提供以认可的方式显式地创建和终止连接。
    2.TCP保证可靠的、顺序的(数据包以发送的顺序接收)以及不会重复的数据传输。
    3.TCP处理流控制。
    4.允许数据优先
    5.如果数据没有传送到,则TCP套接口返回一个出错状态条件。
    6.TCP通过保持连续并将数据块分成更小的分片来处理大数据块。—无需程序员知道
    缺点: TCP在转移数据时必须创建(并保持)一个连接。这个连接给通信进程增加了开销,让它比UDP速度要慢。
    UDP优缺点:
    1.UDP不要求保持一个连接
    2.UDP没有因接收方认可收到数据包(或者当数据包没有正确抵达而自动重传)而带来的开销。
    3.设计UDP的目的是用于短应用和控制消息
    4.在一个数据包连接一个数据包的基础上,UDP要求的网络带宽比TDP更小。

  • 相关阅读:
    IDEA小插件之快速修改Maven多模块的工程版本
    Java 8 Lambda实现原理分析
    怒学Java8系列一:Lambda表达式
    Redis有序集内部实现原理分析(二)
    Redis有序集内部实现原理分析
    JVM内存堆布局图解分析
    Redis内存回收:LRU算法
    垃圾收集器:引用计数算法
    Maven解读:项目依赖管理如何优化
    Maven解读:强大的依赖体系
  • 原文地址:https://www.cnblogs.com/liuruoqian/p/5940564.html
Copyright © 2011-2022 走看看