- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我和我的 friend 要开始一个项目。我们将模拟服务器和客户端之间的基本通信。我们有一个要实现的伪代码。使用这种通信,我们将尝试以不同的方式检测通信中的故障。我们都是这两种软件的新手,所以想就我们应该使用哪种软件征求一些建议。任何能引导我们走向正确方向的利弊都会很好。
一个简单的 TCP/IP 协议(protocol)就可以了。 Python、C#、Java、C 或 C++ 会很好。没有具体要求,因为我们只会使用一些简单的算法来尝试检测服务器或客户端之间的通信是否有故障(检测它们之间的错误消息)
最佳答案
简而言之,OMNeT++ 和 NS-3 都是离散事件模拟器,根据您的具体需求,对您来说可能是不错的选择。
NS-3 是一个网络模拟器,它使用 C++ 和(可选)Python 来模拟网络协议(protocol)和(例如)直接取自 Linux 内核以及其他应用程序领域的实际实现。优点是它对扁平数据包的准确表示、良好的仿真和套接字支持、支持使用 Wireshark 等其他工具进行分析的 PCAP 输出以及良好的社区支持。弱点(与其他相比)可能是可视化,即being enhanced compared到它的祖先 ns-2,但或多或少还是一个动画的痕迹。
有关受支持型号的概述,请参阅 a look at this website .
OMNeT++ 带有自己的 IDE(基于 Eclipse)和用于执行模拟的 GUI(现在基于 QT)。一个不错的overview of the IDE is available online .
OMNeT++ 使用 C++ 定义协议(protocol)和应用程序的源代码,并使用自己的 NED 语言将这些实现组合成(子)模块和网络,然后对其进行模拟。该模拟器具有非常好的可视化支持,严重超过 NS-3。它有一个广泛的预定义模型库,就像 NS-3 一样。模拟模型通常分组在更大的框架中,the INET framework将是您的情况的选择之一。这里是 a list of models included in INET .社区支持也很好,您可以在 Stackoverflow 或 the OMNeT Google Group 中看到.
根据您的陈述(“检测客户端和服务器之间的错误通信”),我假设您对应用程序层的通信故障感兴趣,而不是 IP/TCP 层?两个模拟器都提供 TCP/IP 模型,但如果您对以太网或 WLAN 的详细模拟感兴趣,OMNeT++ 可能是一个更好的开始。如果您想使用一些在 VM 中运行的现有自定义应用程序并模拟两者之间的通信,NS-3 可能是更好的选择。如果您想排除较低层并简单地尝试实现实体之间的基本消息交换,我可能还更喜欢 OMNeT++。
关于omnet++ - 在 OMNET++ 或 NS3 之间进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43207692/
我只是在几个库中拆分了一个项目。 而且标题中出现了奇怪的错误。 我无法解释自己为什么会这样。 此外,此错误过去仅在FSI.exe中显示 我以为这是因为pb在fsi中加载了dll,但是还有更多。 这可能
我将 Android Studio 更新到 4.2.1 并删除了 jcentor。我在构建项目时收到了这样的警告。我不明白这些 URL 的含义以及如何修复它 映射新 ns http://schemas
在 DNS 响应消息中,我对出现在 Answer Section(包含由 ANCOUNT 编号引用的记录的部分)中的 NS 记录之间的差异感到困惑, 以及出现在 Authority Section 中
我有两个命名空间:第一个是 clojuresque java 中的 gui,第二个是常规 clojure 中的 gui。用户在 gui 中输入值;这些需要在非 gui ns 中“传递”到“设置”值。我
我在这里有一些代码可以使用 python 中的回溯解决 n 个皇后问题。当我运行它时,赔率总是比偶数花费的时间少得多。当 n 达到 20+ 左右时,这一点尤其明显。有人知道为什么是这样吗? impor
因此,我正在使用 Flutter 并在运行应用程序时,在调试控制台中收到如下错误: Warning: Mapping new ns http://schemas.android.com/reposit
当我尝试运行应用程序或重新构建它时,出现以下错误。 (我正在尝试在新的 Android Studio 和 SDK 中运行或重建旧项目) 警告:映射新 ns http://schemas.android
我有一个名为 query_df 的数据框,其中一些列属于 datetime[ns] 数据类型。 我想一次将所有 datetime[ns] 转换为 datetime[ns, UTC]。 到目前为止,这是
我注意到,一些服务提供商正在为其客户的域运行 DNS 服务,其中为该区域设置了 NS 名称,并由权威名称服务器返回(在权限部分/NS 和 SOA 记录中),这些名称与上游服务器(例如 TLD 服务器)
我正在研究 Karatsuba 数字乘法算法的实现,但与大多数使用字符串而不是 BigNumber 或 long 的实现不同。我已经为该问题编写了一个递归解决方案,该解决方案似乎适用于所有 n < 6
我在 Route 53 上注册了一个域。该域指向旧 Route53 路由的一些名称服务器。我现在正在构建我的 Terraform 脚本来创建一个新的 Route53 区域。创建时是否可以设置名称服务器
我想从 dataframe data 读取两列 S1_max 和 S2_max。无论 S1_max 列中存在值,我都想检查每个 S1_max 后面是否有相应的 S2_max 信号。如果是这样,我计算
我正在尝试通过以下方式获取 ns-3-dev 版本: [root@localhost ns-3-allinone]# ./download.py -n ns-3-dev # # Get NS-3 #
我在 pandas 中创建了一个 TimeSeries: In [346]: from datetime import datetime In [347]: dates = [datetime(201
我正在尝试访问 XML http://webservices.ns.nl/ns-api-stations使用 ASIHTTPRequest。但是我现在用的好像不行。它说无法访问主机。所以我假设它在 A
我正在尝试将 mp-olsr(ns 2.29) 添加到 ns 2.34 中,并且在编译时遇到了一些错误。 源代码(甲子乙):http://www.jiaziyi.com/index.php/resea
为什么ns(0.8)或ns(c(0.8))返回NA/NaN/Inf in foreign function call (arg 1) ? ns(c(0.8, 1.0))工作正常,但我想知道为什么只给
我正在创建一个PySpark 3.4.1应用程序在与Python3.11.5对接开发,它应该能够连接到多种类型的数据库通过JDBC连接。我正在测试与本地Oracle数据库的连接,该数据库是我在另一个容
我正在创建一个PySpark 3.4.1应用程序在与Python3.11.5对接开发,它应该能够连接到多种类型的数据库通过JDBC连接。我正在测试与本地Oracle数据库的连接,该数据库是我在另一个容
来自 dns newb 的两个问题: 子域是否可以使用与其父域不同的一组名称服务器? 例如:abc.ca 使用 ns.whatever.com 和 ns2.whatever.com,而 sub.abc
我是一名优秀的程序员,十分优秀!