UDP:
1.无连接: 不需要建立连接,可以直接传输数据
2.不可靠: 没有确认和重传机制,感受不到对方是否收到消息
3.面向数据报: 不能灵活控制读写数据的次数和大小,不能拆分和合并数据,发送10k就必须取10k,取1k剩下的就没了
UDP没有真正意义上的发送缓冲区,调用sendto直接交给内核处理
有接收缓冲区,但不能保证和发送的顺序一样,而且没及时读取,可能会丢包。
应用场景: 简单,传输快,支持广播---
直播,实时游戏
TCP:
1.连接: 需要建立连接才可以传输数据
2.可靠: 能感知到对方是否收到消息
3.面向字节流: 有读写缓冲区,可以自由读写
应用场景: 数据准确有序,不会丢包---
文件传输