如何通过 omnet 中的网关发送 .msg?
为了实现 tcp/ip 模拟,我为每一层创建数据包。
由于 omnet 发送函数仅支持发送 cMessage
对象,而我使用 .msg
定义从 cMessage
子类化,因此我找不到发送的方法该数据包通过门而不会丢失数据。
例如,对于应用程序层,我想添加 destAddress
和 packetLength
所以我创建了:
message AppPacket
{
int pktLength;
int destAddress;
}
现在,我创建了 .cc
, .h
omnet 中的类来实现它:
class AppPacket : public cMessage { ... }
在我有了一个包含所有所需数据的新 AppPacket
后,我想将其发送到较低层(传输层),但我不能,因为发送函数只发送cMessage
对象。
我能做些什么?我认为 Message 的全部意义在于帮助我们实现网络数据包。
In order to implement tcp/ip simulation I have for each layer create packets.
Since the omnet send function only supports sending cMessage
object while I subclassed from cMessage
using .msg
definitions, I can't find a way to send that packet through a gate without losing data.
For example, for the application layer I want to add destAddress
and packetLength
so I created:
message AppPacket
{
int pktLength;
int destAddress;
}
Now, I've created .cc
, .h
classes in omnet to implement it:
class AppPacket : public cMessage { ... }
After I have a new AppPacket
with all the needed data, I want to send it to a lower layer (to the transport layer) but I can't since the send function only sends cMessage
objects.
What can I do? I thought the whole point of Message is to help us implement network packets.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
AppPacket 的 .cc 和 .h 文件将自动生成。
您对发送函数采用的类型的看法是正确的,但请注意,您的类继承了 cMessage 对象,因此 AppPacket 也是一个 cMessage!查看从 tcpApp 发送自定义消息的示例代码:
The .cc and .h files for your AppPacket will be generated automaticaly.
You're right about the type that send function takes, but notice, that your class inherits the cMessage object so AppPacket is also a cMessage! Look at the exemplary code which sends custom message from tcpApp: