tcp 同 udp的区别
来源:互联网 发布:java大数据量处理 编辑:程序博客网 时间:2024/04/26 21:48
1. udp package 的最大值为64k;tcp没有限制
2. udp 的单个package,要么整体到达(包括组装),要么传递错误(一次sendto只能对应一个recvfrom);tcp需要考虑可能一次只有部分包到达(需要放入while中保证数据全部获取)
3. udp 连续发送的多个包可能达到的顺序不同;tcp因为是stream,不存在这个问题
4. udp server端只需要bind后就可以接受数据; tcp server端逻辑则不同,它包括两个socket,passitive socket和active socket,passitive socket只负责监听端口,一个passitive socket 可以生成多个active socket,active socket才会有具体的数据流动,每条数据通过(local_ip, local_port, remote_ip, remote_port)来确定传输到哪个active socket中
5. connect() API, UDP 并没有实际和server端交互,它仅仅是建议默认连接,并过滤来至其它socketname的数据;而tcp会与server端进行握手操作
6. udp 的sent和receive都是原子操作,要么成功,要么失败;tcp则不同,关于sent,如果outgoing buffer富裕,则整体发送,返回数据的长度,如果buffer繁忙,则会block住进程,如果buffer只有有限空间,这会发送部分数据,返回这部分数据的长度。关于receive,如果没有数据达到,进程会block住,如果buffer中有充足的数据,则会提供recv需要的数目,如果buffer中的数据量小于query的,也会立即返回部分的数据
7. udp 不会存在把network buffer填满的情况出现,因为udp packet会自动丢掉;而tcp则可能
- tcp 同 udp的区别
- tcp udp 的区别
- TCP/UDP的区别
- tcp/udp的区别
- TCP,UDP的区别
- TCP/UDP的区别
- TCP UDP 的区别
- TCP&UDP的区别
- tcp/udp的区别
- TCP、UDP的区别
- tcp udp的区别
- TCP与UDP的区别
- TCP与UDP的区别
- TCP和UDP的区别
- TCP和UDP的区别
- TCP和UDP的区别
- tcp与udp的区别
- TCP和UDP的区别
- C指针原理(53)-Ncurses-文本终端的图形
- 一笔画问题(nyoj 42)
- FreeRTOS 到ARM7的移植(原创),送官方说明文档
- 文件夹安全选项卡
- 配置FreeRTOS
- tcp 同 udp的区别
- 史上最经典的IT入门学习教程DVD光盘免费领!
- redmine 从production工作模式切换到development模式
- Java 完美判断中文字符
- linux eval命令参数及用法详解
- 浅析FreeRTOS_v4.5.0延时机制---vTaskDelay()的实现
- 黑马程序员--一十四、正则表达式
- 抽象类
- JS : delete