【问题标题】:Problems sending TCP socket from localhost to localhost with rammbock library of Robotframework使用 Robotframework rammbock 库将 TCP 套接字从本地主机发送到本地主机时出现问题
【发布时间】:2017-07-07 14:48:23
【问题描述】:

我正在使用 Robotframework,我需要向侦听端口 80 的程序发送 JSON 消息。由于我将此 JSON 从我的计算机发送到也安装在我的计算机上的程序,因此我假设(使用我的网络知识很少)发送和接收 IP 将是 127.0.0.1。

在这段特定的代码中,我将一个整数发送到一个模板,该模板使用此参数创建一个 JSON 结构并将其发送到 localhost 端口 80,套接字需要是 TCP。

这是我的代码:

*** Test Cases ***
      Set Simulator CDC
      [Tags]    cdc
      [Template]    Set Simulator CDC Template
      #${cdc}
      3120

*** Keywords ***
      Set Simulator CDC Template
      [Arguments]    ${cdc}    ${status}=0    ${connection}=${SIMULATOR_CONNECTION}
      ${cdc}=    Convert to Integer    ${cdc}
      ${json_cdc}=    Create Dictionary    command=cdc    cdc=${cdc}
      ${json_cdc}=    json.Dumps    ${json_cdc}
      Log    ${json_cdc}
      New Protocol    simpleRequest
      Chars    *    ${json_cdc}
      End Protocol
      Start TCP server    127.0.0.1    12454    protocol=simpleRequest
      Start TCP client    protocol=simpleRequest
      Connect    127.0.0.1    80
      New Message    ${json_cdc}    simpleRequest
      u32    status
      Client Sends message
      ${msg}=    Server Receives Message
      Should be equal    ${msg.status.hex}    ${status}

我不确定您是否可以创建具有 JSON 变量类型“Chars”的协议,但是将 JSON 转换为字符串时,结果是相同的。日志文件只给出了关键字“服务器接收消息”的错误,但我安装了 Wireshark,我没有看到任何数据包进入 127.0.0.1,并且应该接收 JSON 的程序不会收到任何东西。

提前致谢;

曼努埃尔·冈萨雷斯·加西亚

【问题讨论】:

    标签: python robotframework


    【解决方案1】:

    您似乎在端口 12454 而不是 80 上启动服务器,您应该更改此行:

    Start TCP server    127.0.0.1    12454    protocol=simpleRequest
    

    Start TCP server    127.0.0.1    80    protocol=simpleRequest
    

    您的代码似乎也缺少缩进,这似乎是 rammbock 所要求的

    【讨论】:

    • 您好,感谢您的回复。关于身份我粘贴了没有身份的代码,现在我编辑了消息。关于我已经尝试过使用端口 80 的端口,但它不起作用。我假设如果我在 localhost 上发送消息,那么从接收它的同一端口发送该消息是不合逻辑的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-09
    • 2012-10-25
    • 2015-03-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-20
    • 2020-01-20
    相关资源
    最近更新 更多