首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我们如何避免在UDP Flex中丢失数据包?

我们如何避免在UDP Flex中丢失数据包?
EN

Stack Overflow用户
提问于 2010-05-29 20:32:59
回答 2查看 910关注 0票数 0

我正在尝试使用UDP Adobe air将大文件发送到CPP。在传输大文件时,一些数据包丢失。如何找回丢失的数据包数据?我首先使用tcp连接客户机(Air)和服务器(Cpp)。建立连接后,我将开始文件传输。我计划使用tcp获取丢失的文件数据,然后使用tcp重新发送丢失的数据包。谁能告诉我怎么才能知道哪些包在传输过程中丢失了。谢谢。

EN

回答 2

Stack Overflow用户

发布于 2010-05-29 23:30:48

你能澄清一下到底是怎么回事吗?您说您正在通过UDP发送文件,但使用TCP连接到服务器-这两个协议在单个连接上是互斥的。

UDP不提供任何检测数据包丢失的机制(这就是TCP的用途),因此在默认情况下,您将无法确定数据包是否已丢失。您应该使用TCP发送文件,因为它为您管理发送/重新发送数据包。

如Air ServerSocket文档(http://help.adobe.com/en_US/air/reference/html/flash/net/ServerSocket.html)所述:

保证所有通过TCP发送的数据包都会到达(在合理范围内)--任何丢失的数据包都会被重新传输。通常,TCP协议比UDP协议更好地管理可用网络带宽。大多数需要套接字通信的AIR应用程序应该使用ServerSocket和套接字类TCP,而不是DatagramSocket类UDP。

有关Air networking类的更多信息,请参阅此页面:

http://help.adobe.com/en_US/air/html/dev/WSb2ba3b1aad8a27b0-181c51321220efd9d1c-8000.html#WS5b3ccc516d4fbf351e63e3d118a9b90204-7cfb

票数 1
EN

Stack Overflow用户

发布于 2010-06-24 21:25:44

我的猜测是,tcp速度较慢,因为它会在数据包丢失时重新发送。所以这可能就是为什么它更慢的原因。但另一方面,检查哪些数据包丢失并通过udp重新发送它们也会花费更长的时间...

我会选择TCP而不是UDP

正如Sly所说,在这里使用udp似乎是错误的工具

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2935029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档