问题标签 [ns-3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
902 浏览

java - 通过 JNI 进行智能指针和外部代码交互

我想知道最好的方法是在 C++ 库中拥有一个指向对象的指针(通过内存地址),它可以自由使用智能指针(ns-3)。目前,我使用基于路径的查找,我担心它的效率,因为它似乎对每个调用进行全树遍历。如果我维护一个指向该对象的标准指针以供跨 JNI 边界使用,那么该对象可能会在 Java 仍然持有对它的引用时被丢弃。使用指向智能指针的指针是最好的主意吗?

干杯,
克里斯

0 投票
3 回答
748 浏览

c++ - 这会导致事件驱动编程中的竞争条件吗?

我正在离散模拟器中编写一个基于代理的小型交互模拟,并开始编写一些如下所示的代码。我之前没有一些事件驱动的编程,但并没有真正观察到这种情况。我想知道以下代码是否会在更新msgRcvd.

我的理解是,currentTime() + 5两个代理同时收到消息,因为这两个事件都在同一逻辑时间发生,所以我应该看到消息数为 2?或者我会看到一些奇怪的竞争条件发生并且值取决于调度程序(即它最终可能打印 1 或 2)?有什么建议么?

0 投票
3 回答
46068 浏览

c++ - Converting a string to uint8_t array in C++

I want an std::string object (such as a name) to a uint8_t array in C++. The function reinterpret_cast<const uint8_t*> rejects my string. And since I'm coding using NS-3, some warnings are being interpreted as errors.

0 投票
2 回答
1607 浏览

c++ - 字符串赋值错误

我正在编写一个 ns3 应用程序,为此我需要将向量写入文件,读取文件以再次构造向量并从向量中选择随机元素。这是代码:

此代码随机崩溃。这就是gdb所说的

为什么字符串分配失败?我发现有些人由于内存泄漏而遇到了这个问题。但这里的情况似乎并非如此。我错过了什么吗?

0 投票
1 回答
470 浏览

c++ - C++:变量“ns3::Ipv4RoutingTableEntry route”具有初始化程序但类型不完整

我无法从 g++ 中破译这些错误消息

这是我的 ls-routing-protocol.h 文件:

这里是来自 ls-routing-protocol.cc 文件的相关片段:

正如你们中的一些人所说,我正在使用 ns-3。我在很多地方查找了我的错误,大多数建议都是正确声明一些结构。但是,我们并没有在这段代码中直接使用结构(或者至少我不知道)。我开始认为这是我们使用智能指针的问题,但我不太确定。

此外,如果有任何帮助:ipv4_static_routing.h 的文档

0 投票
1 回答
1144 浏览

ubuntu - 使用 WAF 和 NS3 时链接共享库

这是一个与称为 NS3 的网络模拟器相关的查询。

假设我想构建一个名为“MyProgram”的程序并在构建它时链接一个共享库。如何使用 WAF 执行此操作?我已将“MyProgram”放在名为“examples/thesis”的目录中并创建了一个 wscript。我还将“MyProgram”所需的文件放在临时目录中。[更多关于在 NS3 中构建文件时使用 WAF 的信息:链接]

这是我将运行以在没有库的情况下构建“MyProgram”的命令:./waf --build MyProgram

构建“MyProgram”时如何将库链接到共享库?

提前致谢!

0 投票
1 回答
595 浏览

c++ - 将 'const Link' 作为 'std::string GetAttribute(std::string)' 的 'this' 参数传递会丢弃限定符

我在使用 NS-3 API 的某些部分时遇到了一个奇怪的错误。这是我的错误信息:

这是导致问题的代码:

根据TopologyReader::Link 的文档,我认为这可能与它GetAttribute(std::string)不是函数有关,而其他函数则被声明为函数。但是,我不确定如何解决此问题。constGetFromNodeName(void)GetToNodeName(void)const

编辑:函数签名如图所示(来自链接的文档):

0 投票
2 回答
115 浏览

c++ - 向函数提供参数时使用“<<”运算符

我一直在编写用 C++ 编写的 ns3 网络模拟器。有很多函数可以有条件地记录输出,具体取决于系统的配置方式。(即记录消息的语句始终存在,但如果我关闭调试,则某些消息将不会出现)。

调用这些函数之一可能如下所示:

这非常有用,因为它允许我直接将许多不同类型的数据连接到一个要记录的字符串中。

现在,我正在尝试编写自己的日志记录功能,以允许我更好地控制记录消息的位置,并允许我在每条消息之前插入唯一的 id 和时间戳,以便我知道它的来源和时间。

我的问题是——如何在 c++ 中创建一个可以以这种方式调用的函数?我找不到所示函数的来源,也没有看到任何其他类似函数的示例。

注意 - 常规的“+”连接不够好,因为我希望能够轻松连接一堆不同的数据类型。我知道还有其他方法可以做到这一点,但我也只是想弄清楚上面的函数中发生了什么!

谢谢 :)

0 投票
1 回答
403 浏览

c++ - 如何让 uint8_t const* 指向与 char* 相同的地址?

在 C++ 程序中,我有一个 char* 指向包含 BUFFER_SIZE 个字符的数组的开头(每个字符的大小为一个字节)。我现在想在 NS3 模拟中使用该代码,数据包将 uint8_t const* 作为输入,指向缓冲区。

为了创建指向第一个提到的缓冲区的“uint8_t const*”,我应该怎么做?

0 投票
1 回答
2933 浏览

networking - 如何使用 NS-3 模拟一些路由算法?

我正在尝试为某些路由算法进行网络模拟,例如

OSPF、RIP、IS-IS、DSR

使用 NS3(网络模拟器 3),因为它是免费的。但是在阅读了 ns3-tutorial 之后,我仍然不知道从哪里开始模拟上述任何路由算法。任何帮助将不胜感激。

我的理解是,因为在 ns3 中,我必须创建将创建流量的节点、通道、netDevices 和应用程序。我认为,由于路由是在路由器中完成的,因此与我想做的事情有关的任何事情都与 netDevices 有关,因为路由器是必须运行算法的设备,而不是主机(节点),而是我必须指定的确切位置我想要模拟的我自己的算法。

提前致谢。