c++ - 如何在 omnet++ 中发送自定义数据包?

标签 c++ omnet++ inet

假设我创建了自己的名为 myPacket 的数据包。有没有办法我可以使用 socket.sendTo() 发送它?

我知道socket.sendTo()接收 INET 数据包,那么有没有办法将 myPacket 转换为 INET 数据包?

接收数据包的模块是 Radio。我检查了 Radio 的功能,它们接收了一个 inet 数据包,那么我该怎么办呢?

Signal *Radio::createSignal(Packet *packet) const
{
    encapsulate(packet);
    if (sendRawBytes) {
        auto rawPacket = new Packet(packet->getName(), packet->peekAllAsBytes());
        rawPacket->copyTags(*packet);
        delete packet;
        packet = rawPacket;
    }
    Signal *signal = check_and_cast<Signal *>(medium->transmitPacket(this, packet));
    ASSERT(signal->getDuration() != 0);
    return signal;
}

最佳答案

使用套接字发送消息需要另一端的套接字。如果您在另一侧有一个套接字,那么请继续使用套接字发送您的消息。

关于c++ - 如何在 omnet++ 中发送自定义数据包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59678525/

相关文章:

c++ - 从 PCL 样本共识中获取异常值

omnet++ - 在 omnet++ 的路径中找不到 g++ 和 gcc

c++ - 在其他模块中通过 cPar 更改模型参数

c++ - 如何将我的自定义模块与 Omnet++INET 的简单模块结合起来

routing - Omnet++ OSPF 路由表度量

c++ - 默认与推导的模板参数?

c++ - 如何在静态析构函数中安全地使用 `std::error_category`?

c++ - 如何让 std::vector 为其内部数组使用已分配的内存?

simulation - 使用 SUMO 场景的子集进行 OMNeT++ 网络模拟(使用 VEINS)

PostgreSQL:如何将 IPv6 网络地址分成两半