2
參考this問題和ASIO libary,我想知道ICMP v6回覆包的最大尺寸是多少。我正在使用ASIO庫來偵聽並接收ICMPv6數據包,但我不知道使用什麼大小的緩衝區來防止緩衝區溢出。我很困惑支持IPv6的擴展頭。ICMP IPv6包的最大尺寸
防爆代碼:
asio::streambuf replyBuffer;
replyBuffer.consume(replyBuffer.size());
size_t length = icmpV6Socket->receive(replyBuffer.prepare(65536));
謝謝,非常明確的答案! – 2013-03-16 02:41:52
參考我的代碼示例,如果使用:icmpV6Socket-> receive(replyBuffer.prepare(65575)),那麼replyBuffer中沒有溢出的機會吧? – 2013-03-16 02:48:15
@MarcusFrenkel:如果您在_any_中使用['streambuf :: prepare()'](http://www.boost.org/doc/libs/1_53_0/doc/html/boost_asio/reference/basic_streambuf/prepare.html)值,它不會導致緩衝區溢出。因此,是的。使用65575不會導致緩衝區溢出。 – 2013-03-16 03:12:42