从节点向邻居发送消息

时间:2020-05-29 10:27:40

标签: c++ grid omnet++ sensors

我正在尝试创建一个网格网络并发送消息。 我的节点如下:

simple Node
{
    parameters:
        @display("i=misc/node");
        gates:
        inout up;
        inout left;
        inout down;
        inout right;
}

我正在发送如下消息:

if(this->gate("right$o")->isConnected())
        {
            send(msg,"right$o",k);
        }

它不会产生任何构建错误,但会在仿真中产生错误。我究竟做错了什么?错误如下:

send()/sendDelayed(): Scalar gate 'right$o' referenced with index -- in module (Node) GridNetwork.sensor[0] (id=2), at t=0s, event #1

1 个答案:

答案 0 :(得分:0)

您的示例Node具有一个inout right门,它是一个标量inout门,而不是一个向量。这意味着只有一个,并且有两个门:right$iright$o,正如您在示例中尝试使用的那样。

因此,您必须将inout right替换为inout right[],并创建从它到另一个门的连接。参见the OMNeT++ documentation on gates