上次已經講完了資料鏈結層的內容,通過資料鏈結層,我們可以方便的接收和傳送資訊了,那麼接收到的資訊又是些什麼東西呢?這就是我們今天表現層要講的內容了。
講表現層會比較令人費解,不如說病人資訊結構來的明白,如果說資料鏈結層是為了封裝傳輸資料的,那麼表現層就是用來封裝相應的病人資訊的,病人資訊、結果資訊等內容到底是如何封裝的呢?那就要看astm e1394-97協議到底是個什麼東西了。
一 整體結構。
說整體結構是為了大家有乙個更加清醒的認識,其實它的整體結構是非常簡單的,簡而言之就是訊息包含結構,結構包含字段。
對於astm的訊息來講,一條訊息是以header record(h)開始的(由於翻譯成中文,很多東西並不是那麼好理解,我覺得還是寫原來的英文好,意思表達更加清楚)。以 termination record(l)結束的,也就是說,一條astm訊息發過來,第一條一定是h record,而最後一條一定是l record。
說到了h record,我們一看就知道是頭結構,那麼astm還有那些record(結構)呢?包括以下幾種:
呼,說了那麼多,其實好幾個沒有用的,也許是astm一貫的工業精神,因此從其它產業帶來的吧,有用的結構就這個幾個h,p,q,o,r,l。
h和l不管的話,lis介面接收要關注的是q,r,而傳送要關注的,就是o了。
二 結構字段
結構中的字段要說的話,就把這篇文章列成大大的一串了,所以吵吵不說,等到你要做的時候,自己研究去吧。我們說點共性的東西:
1、每個欄位都收用」|「來隔開的。
2、一些字段如果有多個內容怎麼辦呢,如,我們的結果,可是有很多專案的,怎麼辦?用」\」來隔開!
3、那麼乙個欄位有不同內容怎麼辦呢?如專案名稱後,緊接著結果,那就用」^」來隔開。
4、如果你能夠看明白上面說的三個符號,你一定會發現乙個好處,我們可以按照字串的處理方式來處理結構中的內容了,不用再乙個byte去找ascii對應的碼表了,為什麼?因為上面打出來的符號都是字元啊,但是這種東西就壓根不是字元的,你能用鍵盤敲出來麼?不行,你只能用ascii的數字去代替。
還是挑個簡單的結構看看吧:
1)header record:
例子:ipu->lis介面
h||\^&|||cs-5100^00-00^11001^^^usinsno^by990757||||||||e1394-97
那麼每個欄位都代表什麼意思呢,順序下來依次是:
一看別人定義的協議就是精細,啥都包括了,因此就會產生很多無用的字段,不用的字段怎麼辦?告訴你直接pass掉了,連空位都不要留,你看上面那個例子,就沒有7.1.14日期訊息了,也沒有」|「來隔開了。
額,協議分析就是幹這個活的,具體那個欄位該留,那個字段位置在**,不同儀器會不同,那麼,你自己慢慢抓包分析吧!
怎麼抓包分析?看這個:
吵吵lis通訊協議分析助手(串列埠)v1.0
一步一步教你配置vnc
配置 vnc遠端桌面連線 1.在命令列輸入 init 3 進入純字元介面 2.kill 掉所有與 x有關的程序 用命令ps aux grep x 然後kill 程序號1 程序號2 只要找到的程序都 kill 掉 如果不會使用 kill 命令,直接重啟電腦 3.首先檢查 vncserver 是否安裝使...
一步一步教你打造介面測試平台 2
這一節我們實現下面兩個功能 為了測試方便,我們先在main.py檔案中增加2個測試的介面 def api return jsonify def error codes 404,401,403,500 random.shuffle codes abort codes 0 再修改handle get 方...
一步一步教你打造介面測試平台 2
這一節我們實現下面兩個功能 為了測試方便,我們先在main.py檔案中增加2個測試的介面 def api return jsonify def error codes 404,401,403,500 random.shuffle codes abort codes 0 再修改handle get 方...