在网上搜索了点资料看了下,也写了个UDP发送代码。现在我还有若干问题不明白。
1.UDP发送的数据比较大时,会拆包,对吧。但是,对于接收方来讲,他收到几个包?
例:我发送1000字节数据,假设拆分成了2个包;那么接收方会接收到几个包?
2.一次发送多少byte数据为宜?
例:网上说,不同的。。。对应多少多少。但是,我怎么知道我的对应多少。我的是java的jre1.7。
3.谁详细介绍下UDP。
网络发送数据,最好是自己对大包进行折分。如果大包由 Socket 按 MTU 进行分拆,分成几包应用层就不知道了。
数据小于 1460 应该不会被折分,因为它满足 MTU 的数据大小限制。
如果自己分折成两包,则接收方也会接收到 2 包,这个是肯定的。如果是一大包,由网络自动完成分包,则接收到的也就是一包。
MTU是网络数据传输的概念,与使用的系统和开发工具无关。
1, 接收端会收到各种可能性的个书包,所以需要协议来自己组建包
2. 一般不超过MTU, 1460字节