首页 > 其他分享 >TCP与UDP的联系与区别(以及网络字节序与主机字节序的转换函数实践)

TCP与UDP的联系与区别(以及网络字节序与主机字节序的转换函数实践)

时间:2022-10-09 23:00:09浏览次数:59  
标签:UDP 字节 TCP Host htons Network

TCP和UDP区别

这两种传输方式都在实际的网络编程中使用,重要的数据一般使用TCP方式进行数据传输,而大量的非核心数据则可以通过UDP方式进行传递,在一些程序中甚至结合使用这两种方式进行数据传递。

由于TCP需要建立专用的虚拟连接以及确认传输是否正确,所以使用TCP方式的速度稍微慢一些,而且传输时产生的数据量要比UDP稍微大一些。

 

UDP是无连接的,不可靠传输,不使用流量控,支持一对一,一对多,多对一和多对多交互通信,面向报文,首部开销小,仅8字节适用于实时应用(IP电话、视频会议、直播等)

TCP面向连接,可靠传输,使用流量控制靠和拥塞控制,只能是一对一通信,面向字节流,首部最小20字节,最大60字节,适用于要求可靠传输的应用,例如文件传输。

视频会议、直播等)

总结:

TCP是面向连接的,传输数据安全,稳定,效率相对较低。
UDP是面向无连接的,传输数据不安全,效率较高。

 

 

网络字节序与主机字节序的转换函数实践
四个转换函数:htonl(), ntohl(), htons(), ntohs()


在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题。这是就可能用到htons(), ntohl(), ntohs(),htons()这4个函数。
网络字节顺序与本地字节顺序之间的转换函数:

htonl()–“Host to Network Long”
ntohl()–“Network to Host Long”
htons()–“Host to Network Short”
ntohs()–“Network to Host Short”

标签:UDP,字节,TCP,Host,htons,Network
From: https://www.cnblogs.com/cwb0108/p/16774036.html

相关文章

  • TCP和UDP的区别
    TCP的优点:可靠,稳定TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统......
  • TCP与UDP的区别、联系
    一、TCP、UDP的区别1、TCP(传输控制协议):1)提供IP环境下的数据可靠传输(一台计算机发出的字节流会无差错的发往网络上的其他计算机,而且计算机A接收数据包的时候,也会向计算......
  • TCP与UDP的联系与区别
    TCP与UDP的联系与区别,网络字节序与主机字节序的转换函数实践(1)TCP(TransmissionControlProtocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠......
  • 【下位机学习】ModbusTcp简单学习
    ......
  • window java 字节码修改
    前提: win10安装包:1、 JDK10.0.1.msi(包含jre环境),  JDK的安装路径2、 jclasslib 6.0.3  用于编辑常量3、JBE  用于编辑函数方法,鸡肋,不建议使用......
  • TCP与UDP||网络字节序与主机字节序
    一、TCP和UDP的区别:1、udp不一定提供可靠的数据传输,该协议不能保证数据准确无误地到达目的地;2、tcp的目的是提供可靠的数据传输,并在相互进行通信的设备或服务之间保持一......
  • TCP和UDP的区别与联系以及网络字节序和主机字节序的转换函数实践
    TCP和UDP的区别TCP是一个面向连接的、可靠的、基于字节流的传输层协议。而UDP是一个面向无连接的传输层协议。具体来分析,和 UDP 相比,TCP 有三大核心特性:面向连接:所......
  • TCP/IP三次握手
    TCP/IP三次握手----为了保证能建立一个安全可靠的连接发送标识:SYN--使得接受端知道,本端可以正常接受到消息回复标识:ACK--回复给发送端,使得发送端可以知道,对端可以接收到......
  • TCP与UDP的联系与区别(以及网络字节序与主机字节序的转换函数实践)
    TCP与UDP的联系TCP:是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。UDP:是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把......
  • TCP三次握手与四次挥手
    三次握手:第一次握手:客户端发送syn包(seq=x)到服务器,并进入SYN_SENT状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(seq=y),......