基于INET定义用户定义的消息

时间:2018-12-11 08:18:50

标签: omnet++ inet

我正在尝试从OMNET ++的INET框架中的Chunk基类定义自定义HTTP消息。

但是OMNET的msg编译器说块是未知类。

我的源代码(HttpMessage.msg):

cplusplus {{
#include "inet/common/packet/chunk/Chunk.h"
}}
class HttpRequest extends Chunk
{
    string cookie;
}

我又输入了一个代码...

cplusplus {{
#include "inet/common/packet/chunk/FieldsChunk.h"
}}
class inet::FieldsChunk;
class HttpRequest extends FieldsChunk
{
    string cookie;
}

现在它说“没有匹配的构造函数来初始化':: inet :: FieldsChunk”

谢谢。...

1 个答案:

答案 0 :(得分:1)

  1. 尝试以下代码:

    import inet.common.INETDefs;
    import inet.common.packet.chunk.Chunk;
    namespace inet;
    
    class HttpRequest extends Chunk {
        int cookie;
    }
    
  2. 然后转到项目的Properties,选择OMNeT++ | Makemake | src文件夹| Options... | Custom并添加以下行:

    MSGC:=$(MSGC) --msg6
    

    或者,您仅可以在src中创建一个新文本文件makefrag,没有扩展名,并带有上述行。


    选项--msg6告诉消息编译器应该使用新的导入消息方法:

      

    -msg6 :激活对导入和其他实验功能的支持。     使用新功能的邮件文件不向后兼容     并且需要更新。有关更多信息,请参见src / nedxml / ChangeLog。     提示:要激活,请使用以下命令向您的项目添加一个makefrag文件:     以下内容:“ MSGC:= $(MSGC)--msg6”