热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

UDP数据包可以像TCP一样部分发送吗?

如何解决《UDP数据包可以像TCP一样部分发送吗?》经验,为你挑选了1个好方法。

我创建了一些具有自己的数据ACK系统的客户端/服务器应用程序.它最初是在TCP中制作的,因为有一些限制,但基础是考虑UDP.

我发送到服务器的数据包有自己的封装(数据包ID和数据包大小标题.我知道UDP也有校验和所以我没有添加标题.),但是TCP如何工作,我知道服务器可能没有收到整个数据包,所以我收集并缓冲了收到的数据,直到收到完整的有效数据包.

现在我有机会将我的客户端/服务器程序传递给UDP,我知道与TCP的一个区别是数据没有按照发送的顺序接收(这就是为什么我添加了数据包ID头).

我想知道的是:如果我发送多个数据包,是否会收到没有保证订单但保证封装的数据包?我的意思是,如果我发送一个大小为1000字节的数据包和另一个大小为400字节的数据包,服务器将接收2个数据包,1000个字节中的一个和400字节中的另一个,或者有机会接收200个1000个字节,那1000个字节的400个字节以及之后的其他字节如TCP可以做什么?



1> David Schwar..:

UDP是一种数据报服务.可以拆分数据报以进行传输,但是在传递到应用程序层之前,它们将被重新组装.


推荐阅读
author-avatar
Song_Rr
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有