【问题标题】:vsomeip configuration file for client and server客户端和服务器的 vsomeip 配置文件
【发布时间】:2021-01-19 19:21:59
【问题描述】:

当为客户端和服务器使用单独的 JSON 配置文件时,我无法在服务器和客户端之间建立通信 我的要求是使用 vsomeip 框架传输 SOME/IP 数据。我在同一个系统上传输数据。 但是,当对发送器和接收器使用相同的 JSON 文件时,我能够传输数据。 下面是使用的 JSON 文件。

{
    "unicast" : "160.48.199.102",
    "logging" :
    { 
        "level" : "trace",
        "console" : "true",
        "file" : { "enable" : "false", "path" : "/tmp/vsomeip.log" },
        "dlt" : "false"
    },
    "applications" : 
    [
        {
            "name" : "master_tx",
            "id" : "0x1277"
        },
        {    
            "name" : "master_rx",
            "id" : "0x1344"
        }
    ],
    "services" :
    [
        {
            "service" : "0x3556",
            "instance" : "0x0001",
            "reliable" : { "port" : "30490", "magic-cookies" : "false" },
            "events" : 
            [
                {
                    "event" : "0x8001",
                    "is_field" : "true",
                    "is_reliable" : "false"
                }
            ]
        }
    ]
    "max-payload-size" : "5000",
    "max-payload-size-unreliable" : "5000",
    "routing" : "master_tx",
    "service-discovery" :
    {
        "enable" : "true",
        "port" : "30490",
        "protocol" : "_udp_",
        "initial_delay_min" : "100",
        "initial_delay_max" : "200",
        "repetitions_base_delay" : "200",
        "repetitions_max" : "15",
        "ttl" : "100",
        "cyclic_offer_delay" : "2000",
        "request_response_delay" : "1500"
    }
}

但是,当发送器和接收器使用不同的 JSON 文件时,我无法建立任何连接。以下是使用的 JSON 文件。

server.json

{
    "unicast" : "192.168.0.178",
    "logging" :
    { 
        "level" : "trace",
        "console" : "true",
        "file" : { "enable" : "false", "path" : "/tmp/vsomeip.log" },
        "dlt" : "false"
    },
    "applications" : 
    [
        {
            "name" : "master_tx",
            "id" : "0x1277"
        }
    ],
    "services" :
    [
        {
            "service" : "0x3556",
            "instance" : "0x0001",
            "reliable" : { "port" : "30490", "magic-cookies" : "false" },
            "events" : 
            [
                {
                    "event" : "0x8001",
                    "is_field" : "true",
                    "is_reliable" : "false"
                }
            ],
            "eventgroups" :
            [
                {
                    "eventgroup" : "0x001",
                    "events" : [ "0x8001" ]
                }
            ]
        }
    ],
    "max-payload-size" : "5000",
    "max-payload-size-unreliable" : "5000",
    "routing" : "master_tx",
    "service-discovery" :
    {
        "enable" : "true",
        "port" : "30490",
        "protocol" : "_udp_",
        "initial_delay_min" : "100",
        "initial_delay_max" : "200",
        "repetitions_base_delay" : "200",
        "repetitions_max" : "15",
        "ttl" : "100",
        "cyclic_offer_delay" : "2000",
        "request_response_delay" : "1500"
    }
}

client.json

{
    "unicast" : "192.168.0.178",
    "network" : "vsomeip-rx",
    "logging" :
    { 
        "level" : "trace",
        "console" : "true",
        "file" : { "enable" : "false", "path" : "/tmp/vsomeip.log" },
        "dlt" : "true"
    },
    "applications" : 
    [
        {    
            "name" : "master_rx",
            "id" : "0x1344"
        }
    ],
    "clients" :
    [
        {
            "service" : "0x3556",
            "instance" : "0x0001",
            "unreliable" : [ "30490" ]
        }
    ],
    "max-payload-size" : "5000",
    "max-payload-size-unreliable" : "5000",
    "routing" : "master_rx",
    "service-discovery" :
    {
        "enable" : "true",
        "port" : "30490",
        "protocol" : "_udp_",
        "initial_delay_min" : "100",
        "initial_delay_max" : "200",
        "repetitions_base_delay" : "200",
        "repetitions_max" : "15",
        "ttl" : "100",
        "cyclic_offer_delay" : "2000",
        "request_response_delay" : "1500"
    }
}

如果 JSON 文件有问题或者我遗漏了其他内容,有人可以帮助我吗?

【问题讨论】:

    标签: c++ udp automotive


    【解决方案1】:

    server.json

    1. 端口 30490 被定义为可靠,而它被用作服务发现端口(不可靠)。使用其他的,例如 30500。
    2. 我不确定 "_udp_" 是否是允许值 - "udp" 肯定是。

    client.json

    1. “clients”标签指定用于连接特定服务的端口。在这种情况下,再次只使用一个端口 30490,该端口已为服务发现定义。此外,在客户端中它被指定为不可靠,而在服务器中它是可靠的。 除了文档中指定的:vsomeip 将采用列表的第一个空闲端口。如果找不到空闲端口,连接将失败。 尝试使用其他端口或删除“客户端”标签进行测试。

    2. 我不确定 "_udp_" 是否是允许的值 - "udp" 肯定是。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-14
      • 2016-09-19
      • 1970-01-01
      • 2022-07-11
      • 2015-06-26
      • 1970-01-01
      相关资源
      最近更新 更多