`
javaG
  • 浏览: 554870 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

UDP和TCP的选择

阅读更多

一直在思考一个我问题,http协议为什么用TCP而不用UDP。

1,一次http请求,ie发送请求->服务器处理ie的请求->ie接收到服务器的请求。

现在假设网络是连通的,不连通就讨论这个就没什么意义了。

TCP发送不成功就重传,这样的话如果不超时总能保证ie的请求被服务器接收,并且不会丢包保证传输无错误。

UDP发后不管,可能存在这样的情况,ie请求发送完了,服务器也接收到了,但是服务器接收到的信息存在缺失或者错误。

可想而知,如果发送给ie的信息有错误的话,ie解析的时候就会报错。

同样都是做完一件事情,基于TCP就没错误(保证成功),基于UDP就有可能存在错误。所以http还是用TCP的好,但不是说不能用UDP。而且UDP还有个劣势就是它的包体不能过大,过大就发送不了,如果你要发送大的文件就需要自己管理截包和组包,这个是比较麻烦的.(实际上一般UDP的包考虑掉必要的包头协议体,内容最好是不要超过1400字节)

但是UDP也有他的优势,就是速度(不需要三次握手,而且有发后不管的功能,是某些情况下异步通信的最好的模型)。

分享到:
评论

相关推荐

    UDP/TCP转发工具

    UDP/TCP转发工具 网络转发调试工具 特别好用

    tcpudp 2.1.1 TCP/UDP 调试软件

    1. 数据包捕获:可以捕获网络上的TCP和UDP数据包,让用户查看到网络通信中的原始数据。 2. 数据包解析:解析捕获到的数据包,展示其头部信息(如源IP、目标IP、端口号等)和负载内容,帮助用户理解协议结构。 3. ...

    TCP&UDP测试工具_tcp&udp_TCP/UDP测试工具_TCP工具_

    在IT行业中,网络通信是...总的来说,理解TCP和UDP的工作原理以及如何使用测试工具进行评估和调试,对于任何IT专业人员来说都是必要的技能,无论是在开发网络应用还是维护网络基础设施时,这些知识都能带来显著的帮助。

    UDP-TCP.rar_TCP UDp_TCP-UDP_tcp/udp socket_网络UDP TCP

    标签中的"tcp_udp", "tcp-udp", "tcp/udp_socket"和"网络udp_tcp"都是对主题的关键词提炼,突出了TCP和UDP在Socket编程中的重要性。 TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)是互联网...

    udp转TcP的接收程序,可用

    这个是一个项目中的代码,执行通过的。用于UDP连接转TCP接收 的服务器接收程序。

    自定义proxy协议(支持udp和tcp代理)

    4. **协议兼容性**:支持Socks5协议是一种常见的需求,Socks5是代理协议的一种标准,它支持TCP和UDP。如果你的自定义协议要兼容Socks5,需要实现其规定的握手和数据传输流程。 5. **安全性**:考虑使用加密技术,如...

    基于udp和tcp的客户端和服务器

    总的来说,这个项目提供了关于TCP和UDP网络通信的实际应用案例,以及如何在C++环境中使用socket接口实现客户端和服务器之间的交互。对于学习网络编程和C++编程的人员来说,这是一个很好的实践项目,有助于理解网络...

    UDP-TCP.rar_TCP UDp_c# tcp/udp_tcp_tcp/udp

    本资源"UDP-TCP.rar"包含了一个C#实现的TCP和UDP程序示例,这些示例旨在帮助开发者理解这两种协议的基本用法,并已成功编译通过。 TCP是一种面向连接的、可靠的协议,它确保了数据的顺序传输和错误检查。在C#中,...

    UDP-TCP测试工具

    在使用UDP-TCP测试工具时,用户应根据具体需求选择合适的测试参数,如数据包大小、发送速率、目标地址和端口等,然后分析测试结果,为网络优化和应用开发提供依据。通过这样的工具,可以有效地诊断网络问题,提升...

    UDP_TCP_TestTool.zip

    UDP和TCP是网络通信中的两种主要传输协议,它们在互联网应用中扮演着至关重要的角色。UDP_TCP_TestTool.zip是一个压缩包,包含一个名为UDP_TCP_TestTool.exe的应用程序,该工具旨在帮助用户进行UDP和TCP协议的数据包...

    Python编写的简单的UDP和TCPSocket连接的客户端-服务器程序

    以上就是Python中实现TCP和UDP Socket连接的基本知识。这些代码示例提供了一个起点,开发者可以根据实际需求进行扩展,例如实现多线程或异步处理,以适应更复杂的网络应用场景。在实际开发中,还需要注意错误处理、...

    UDP和TCP区别详解

    面向连接的TCP和面向非连接的UDP 协议详解。

    android UDP/TCP混用

    在Android平台上进行网络编程时,有时会遇到需要同时使用UDP(User Datagram Protocol)和TCP(Transmission Control Protocol)的情况。这两种协议各有特点,UDP是无连接的、不可靠的数据传输协议,而TCP则是一种...

    java udp and tcp

    ### Java UDP 和 TCP 详细介绍及实现步骤 #### 一、UDP (User Datagram Protocol) ##### 1.1 UDP 概述 UDP(用户数据报协议)是一种无连接的通讯协议,这意味着它并不像TCP那样需要先建立连接再进行数据传输。在...

    udp和tcp套接字简单例子

    在计算机网络编程中,UDP(User Datagram Protocol)和TCP(Transmission Control Protocol)是两种主要的传输层协议,它们各自有着不同的特性和应用场景。本篇将详细介绍这两种协议,并通过简单的Winsock API实例,...

    udp tcp端口测试工具

    UDP(User Datagram Protocol)和TCP(Transmission Control Protocol)是互联网协议族中的两种主要传输协议,它们在计算机网络通信中扮演着至关重要的角色。本篇文章将详细介绍这两种协议以及相关的端口测试工具。 ...

    sendip最新-修正IPv6下udp/tcp校验和错误

    在IT行业中,网络通信是至关重要的部分,而UDP(用户数据报协议)和TCP(传输控制协议)则是网络层面上的两种主要传输协议。本文将深入探讨标题和描述中提到的知识点,即“sendip”工具在IPv6环境下处理UDP和TCP校验...

    netty搭建TCP、UDP服务

    它简化了网络编程,特别是对于TCP和UDP协议的处理,使得开发者能够轻松地搭建面向物联网(IoT)设备的上行和下行通信服务。 在TCP(传输控制协议)方面,Netty提供了全面的API来创建服务器和客户端。TCP是一种面向...

    各种版本UDP和TCP小程序

    通过这个项目,开发者可以深入理解TCP和UDP的工作原理,学习如何在C#中有效地实现网络通信,同时锻炼解决实际问题的能力,这对任何IT职业生涯都是非常宝贵的技能。无论是初次接触网络编程的新手,还是经验丰富的...

    UDP/TCP的简单使用

    **TCP(传输控制协议)与UDP(用户数据报协议)是网络通信...总的来说,TCP和UDP各有优势,选择哪种协议取决于具体的应用需求和性能指标。在开发过程中,理解并合理运用这两种协议,能够有效提升网络通信的质量和效率。

Global site tag (gtag.js) - Google Analytics