2017-07-06 127 views
2
我使用Robotframework

的rammbock庫,我需要發送一個JSON消息到80端口上偵聽因爲我從我的電腦發送此JSON到一個程序程序也安裝在我的電腦上,我假設(用我的小網絡知識)發送和接收IP將是127.0.0.1。問題從本地主機發送TCP套接字到本地主機與Robotframework

在這個特定的一段代碼我發送到與該參數創建一個JSON結構,並將其發送到本地主機端口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但JSON轉換爲字符串時,結果是一樣的協議。日誌文件只給出關鍵字'服務器接收消息'的錯誤,但我安裝了Wireshark,我沒有看到任何數據包goint到127.0.0.1,並且應該接收JSON的程序不會收到任何東西。

在此先感謝;

曼努埃爾·岡薩雷斯·加西亞

回答

1

看來你開始你的端口12454,而不是80服務器,你應該改變這一行:

Start TCP server 127.0.0.1 12454 protocol=simpleRequest 

Start TCP server 127.0.0.1 80 protocol=simpleRequest 

看來還你的代碼是缺少縮進,這似乎是rammbock所需要的

+0

嗨,謝謝你的resp ONSE。關於身份證我粘貼代碼沒有身份,現在我編輯了消息。關於我已經用端口80嘗試過的端口,它不起作用。我假設,如果我在本地主機上發送消息,從接收它的相同端口發送該消息是不合邏輯的。 – freedomwave