c++ - 如何在 omnet++ 中发送自定义数据包?
问题描述
假设我创建了自己的名为 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;
}
解决方案
使用套接字发送消息需要另一端的套接字。如果您在另一侧有一个套接字,那么请继续使用套接字发送您的消息。
推荐阅读
- python - SciPy:为具有对数频率标度的音频制作频谱图并从中恢复原始信号
- .net - .NET 如何在 OIDC 中间件中访问 DBContext
- javascript - setInterval 和 clearInterval 问题?
- python - 运行其他外部 python 脚本时缺少 numpy
- javascript - JavaScript / JQuery 无效的 EWS SOAP XML 响应
- java - java.lang.NullPoinerException 错误。如何将字符串转换为 WebElement (java)
- docker - Fetch 模块在 Docker 中运行时返回“无法计算远程文件的校验和”,但在不在 Docker 中时工作正常
- c - 了解工作队列中的快速更新
- python - SQL 包含 0 个参数标记,但提供了 1 个参数','HY000'
- google-sheets - 用“MONTH(“Oct”&1)”计算当前月份不能正常工作