2016-03-15 41 views
0

我已經使用Winsocket協議(僅用於記錄我的應用程序的協議)記錄了LR11.5版本的腳本。我想關聯幾個接收緩衝區。在一個這樣的緩衝區中,我有兩個相關的值,因爲它們都是相同的值。緩衝區如下: -在一個接收緩衝區中的兩個值的相關性加載轉輪

的recv buf30 136 「& SOT & 148 \ vF.USER符\ v SK1 \ vTIME.OUT.MINUTES & EOT & & START & 148 \ V3 \ v999 & END & & START &「 」99 \ V56 \ V28 2016年2月符\ v SK1 \ v8298,\ V28 2016年2月16:23 \ vg15.0.00 \ vr11.000 & END &「

高亮度值是我需要關聯的值。我應該爲此做些什麼。我已經習慣了lrs_save_param()函數進行關聯。

+0

爲了清楚起見,您是試圖捕獲RECV緩衝區中的值還是替換它們?相關有兩個功能。這裏的假設是捕獲,因爲這是一個接收緩衝區。 –

回答

0

您需要的關聯API取決於記錄在腳本中的網絡協議。如果它使用恆定的字段偏移量,則可以安全地使用lrs_save_param。相關結果將是這樣的:

lrs_save_param("socket0", LRS_LAST_RECEIVED, "param1", 16, 3); 
lrs_save_param("socket0", LRS_LAST_RECEIVED, "param2", 138, 3); 

(從零開始的偏移量,值的長度)。

但如果偏移從運行變化運行,情況就比較複雜:你必須爲提取的值指定邊界。例如:

lrs_save_searched_string("socket0", LRS_LAST_RECEIVED, "param1", "LB/BIN=\v", "RB/BIN=\v", 
    2, 0, -1); 
lrs_save_searched_string("socket0", LRS_LAST_RECEIVED, "param2", "LB/BIN=\v", "RB/BIN=\v", 
    8, 0, -1); 

(左,右邊界的,基於1號發生的,從左側邊界,長度,其在這種情況下,自動檢測偏移)

請確認詳情the official documentation

+0

謝謝@ tserg42 ...這很有幫助 –

+0

@RakeshR,不客氣。如果任何答案已解決您的問題,請點擊複選標記,考慮[接受](http://meta.stackexchange.com/q/5234/179419)。這不是強制性的:)。 – tserg42

+0

我是這個網站的新手。我一定會在這裏牢記這一點。謝謝 :) –

相關問題