我已经阅读了很多关于UDP数据包大小的文章,但是无法得出结论.
许多服务将最大的UDP数据包限制为512字节(如dns)
给定互联网上的最小MTU为576,IPv4标头的大小为20字节,UDP标头为8字节.这留下了548个可用于用户数据的字节
我是否能够使用大小为548的数据包而不会出现数据包碎片?或者是DNS的创建者知道什么,以及为什么他们将其限制为512字节.
我能安全地高于548字节吗?
我使用Qt开始,我坚持着一个问题理应相当长的一段时间了.我确信这只是我在C++中看不到的东西.无论如何,请看下面的简单代码并指出我做错了什么:
typedef struct FILEHEADER {
char udfSignature[8];
char fileName[64];
long fileVersion;
UNIXTIME fileCreation;
UNIXTIME lastRebuild;
FILEPOINTER descriptor;
} fileheader;
QFile f("nanga.dat");
if(f.open(QIODevice::ReadWrite));
f.write(fileheader);
Run Code Online (Sandbox Code Playgroud)
Qt 5.2.0告诉我以下错误消息:
C:\sw\udb\udb\main.h:113: error: no matching function for call to
'QFile::write(FILEHEADER&)'
file.write(header);
^
Run Code Online (Sandbox Code Playgroud)
关于如何将这个结构写入a的任何建议QFile?
谢谢