TCP是面向链接的,虽然说网络的不安全不稳定特性决定了多少次握手都不能保证连接的可靠性, 但TCP的三次握手在最低限度上(实际上也很大程度上保证了)保证了连接的可靠性; 而UDP不是面向连接的,UDP传送数据前并不与对方建立连接,对接收到的数据也不发送确认信号, 发送端不知道数据是否会正确接收,当然也不用重发,所...
TCP是可以有拥堵控制的,可以根据网络环境调整自己的行为;UDP就是应用让我发,我就发,管它洪水滔天; TCP是一个有状态的服务,通俗的讲就是有脑子的,可以精确的记着,自己发送了没有,接收到没有,发送到哪个了,应该接收到哪个了,错一点儿都不行;UDP其实是一个无状态服务,无脑子,天真无邪的发出去就发出去呗; UDP...
上面的图只是让大家感受一下TCP和UDP协议下,socket工作流程的不同,两者之间的差异是TCP需要连接,UDP不需要。现在是不是有点迷糊!这里面的bind、listen啥的都是什么东西啊。下面我们就分开两者。 三、TCP协议下的socket 基于TCP的socket通讯流程图片: 虽然上图将通讯流程中的大致描述了一下socket各个方法的作用,但是...
1、TCP UDP区别: TCP有点:可靠,稳定,TCP可靠提现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传输时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接来节约系统资源。 TCP缺点:慢、效率低、占用系统资源高,易呗攻击,TCP在传递数据之前,要先建立连接,这会消耗时间,而且在数据传输时,确认...
UDP 是面向无连接的,不需要握手 UDP 是继续数据报文的,不是一个字节一个字节封装和发送的,是分块发送的 UDP 是不可靠的传输,不负责接收方能够可靠的接收到消息,丢包后不会再做重发等弥补操作 UDP 相比于TCP 来说比较快,效率更高,但它是不可靠的
原始套接字与标准套接字(标准套接字指的是前面介绍的流套接字和数据报套接字)的区别在于:原始套接字可以读写内核没有处理的IP数据包,而流套接字只能读取TCP协议的数据,数据报套接字只能读取UDP协议的数据。因此,如果要访问其他协议发送的数据必须使用原始套接字。
send():TCP专用,发送数据 recv():TCP专用,接收数据 sendto():UDP专用,发送数据到指定的IP地址和...
一、TCP与UDP的不同 1. 是否需要建立连接。 UDP在传送数据之前不需要先建立连接;TCP则提供面向连接的服务; 2. 是否需要给出确认 对方的传输层在收到UDP报文后,不需要给出任何确认,而 TCP需要给出确认报文,要提供可靠的、面向连接的传输服务。 3.虽然UDP不提供可靠交付,但在某些情况下UDP是一种最有效的工作方...
protocol参数:protocol 表示传输协议,常用的有IPPROTO_TCP和IPPTOTO_UDP,分别表示 TCP 传输协议和 UDP 传输协议。 使用示例: 创建TCP套接字: 代码语言:javascript 复制 int tcp_socket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); 创建UDP套接字: 代码语言:javascript ...