博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
InstantMessaging(即时通讯,实时传讯)
阅读量:4100 次
发布时间:2019-05-25

本文共 509 字,大约阅读时间需要 1 分钟。

1.上百万TCP连接的网络服务,其编程的难度、程序复杂度、调试难度、服务器运维成本、网络成本等都远远高于UDP。
2.现在的移动端IM、推送系统,既面对移动互联网的不确定性,又面对智能终端频繁的系统休眠、网络切换,还要考虑服务端的承载成本,对于在线服务而言UDP是比TCP更适合的方式。但是由于数据完整性、安全性的需要,又不应完全放弃TCP的可靠与安全。
3.粘包:
只有TCP有粘包现象,UDP永远不会粘包!
     why?UDP发送的时候 是可以按照一个一个数据包去发送的 一个数据包就是一个明确的边界,面向报文形式
1.TCP并没有数据包的概念 是完全流式的 他会开辟一个缓冲区 发送端往其中写入数据 过一段时间就发送出去 然后接收                        端接收到这些数据 是并不是说我发送了一次数据就肯定发送出去了 数据会在缓冲区中 可能后续发送的数据和之前发送                     的数据同时存在缓冲区中随后一起发送
2.接受端取的时候也会发现同1的情况
3.比如填充缓冲区到一半缓冲区满了直接发送了 但是其实那个包还没填充完全 这个就是不完整的粘包了 剩余数据会在下                    次发送的时候补上就是粘包
解决方案:
1. 循环使用的大缓冲队列;
2. 定义数据头。

转载地址:http://dvzsi.baihongyu.com/

你可能感兴趣的文章
操作系统知识点总结(22考研408)【1--绪论】
查看>>
Cygwin模拟器安装及案例使用
查看>>
操作系统模拟实验
查看>>
Spring-Cloud-Finchley | 服务注册与发现 Eureka
查看>>
Spring-Cloud-Finchley | 负载均衡 RestTemplate+Ribbon
查看>>
Spring-Cloud-Finchley | 声明式服务调用 Feign
查看>>
Spring-Cloud-Finchley | 熔断 Hystrix
查看>>
Spring-Cloud-Finchley | 路由网关 Zuul
查看>>
Spring-Cloud-Finchley | 配置中心 Config
查看>>
Kong 网关 | 快速安装与入门
查看>>
PostgreSQL 安装与入门
查看>>
Kong 网关 | Rate Limiting 限流
查看>>
Kong网关 | 「Kong & Prometheus & Grafana」 实时监控
查看>>
Kong 网关 | Service
查看>>
Kong 网关 | Route
查看>>
自媒体的未来
查看>>
写作的好处
查看>>
分布式的冰与火 | 分布式配置中心 Apollo (CentOS安装)
查看>>
Redis | Redis 单机版安装与使用(Linux)
查看>>
延迟满足 —— 达到目标需要忍住重重诱惑
查看>>