2012-05-08 67 views
0

我为ns3创建了一个新的应用程序,它似乎运行正常,但是,在执行几秒钟后(正确接收很多数据包之后),出现以下错误:ns3 buffer.h声明失败

断言失败。 cond =“m_current + delta < = m_dataEnd”,file =。/ ns3/buffer.h,line = 678

任何想法是什么导致了这个错误,以及如何绕过/纠正它?

回答

1

这只是一个假设,但似乎你有一个缓冲区溢出,即当前大小超过了它的最大大小。也许你可以清除缓冲区或增加其大小。正如消息告诉你的,错误发生在buffer.h文件的第678行。你可以看看这个位置有一个想法,哪个操作导致断言,也许这可以帮助你找出你必须做什么来避免这个消息。

+0

感谢Thanx。我将应用程序数据包大小限制为1450字节,似乎运行正常。看来,ns3不会碎片过大的数据包。我将尝试在应用程序级别对数据包进行分段并查看是否可以解决问题。 – user000001