- 主题:Qt UDP传输 校验和是怎么处理的?
如果校验不对的话,会被qt丢掉吗?
丢弃是路由的功能?所以端到端的传输的话不管,接收端还是能接收到错误数据?
qt本身不能设置丢掉还是不丢掉?
--
FROM 124.64.17.*
看了下源码,
win下的setsockopt调用里没有出现设置checksum的地方。
系统默认是进行checksum吗?
另外,win下,以太网卡可以设置是否进行 硬件校验和。如果校验错误,网卡会直接丢包吗?如果不丢,win会丢吗,还是会最终传给app?
其实就是想知道,qt的udp收发程序,如果收到了数据,是不是确定就是通过了校验和了?
【 在 hgoldfish 的大作中提到: 】
: 这个是网络层的功能。操作系统处理了。校验和不对就丢掉,Qt 本身无法控制。
:
: 【 在 zhanghaoX (环顾四方有效) 的大作中提到: 】
: ...................
--
FROM 124.64.17.*
请问,win下 如果设置网卡硬件校验和的话,win的协议栈本身还会做吗?
【 在 hgoldfish 的大作中提到: 】
: 是的。。可以确定通过了检验和。
:
: 但是检验和并不能保证数据是对的。最好自己在应用层再搞个 sha256
: ...................
--
FROM 124.64.17.*
你看下网卡高级设置,已经可以校验tcp udp了
【 在 dormouseBHU 的大作中提到: 】
: 网卡的检验不会做到UDP这一层的…
: 你找本TCP ip协议的书仔细读读就懂了
:
: ...................
--
FROM 124.64.17.*