2017年6月12日 星期一

Sample Code

NuPython在發布時,附上很多的sample code。Sample中會一步步的說明代碼中使用到的形式,用途,以及產生的結果。我們試著讓代碼看起來易讀,好理解。

除了基本使用NuPython的代碼之外,我們有時候會在代碼中使用比較進階方式讓代碼更容易閱讀或是達到更加效能。假使有使用到的話,我們都會在說明中詳細指出。

我們將代碼分為兩大部分,一部分是執行在console頁面,另一部分則是使用跨平台UI去呈現,更多的代碼和表示,就請用戶自行發會想像力。
  • Console Program
    • Connect
      • 此範例展示和Server連線與斷線,我們做過超過數萬次的連線斷線機制驗證。這是所有程序的第一步,必須先連線之後,才能進行接下來的步驟。程序最後得斷線,確保使用者離開,否則將會占用連線。
    • Lock
      • 此範例展示如何將所需要的端口保留,釋放。端口被保留之後,才能對端口下命令運作,被保留的端口,不能被其他程序再次保留,確保優先權。保留的端口最後得釋放,確保端口自由,下次可以繼續使用。
    • Read Info - board
      • 此範例展示板卡的信息。讀去信息不用先保留端口,就可以獲取板卡的各項信息,如版本號,型態,發行日期等等。
    • Set Media
      • 標準百兆端口擁有10M/100M兩種速率。標準千兆端口擁有10M/100M/1G三種速率。另外還有光纖端口和10G端口,我們的端口根據不同規格板卡,有各種不同型態。此範例可以切換端口的media。
    • Transmit packets - single direct
      • 此範例展示端口送包功能,我們可以自行設定封包大小,數量,內容(從MAC開始設定),每個封包的間隔等等參數。
    • Transmit packets - layer3
      • 同上範例,展示第三層網路封包的設定方式。
    • Transmit packets - bi-direct
      • 同上範例,上述兩範例需要兩個端口,一個端口送包,一個端口收包。這個範例則展示同時雙向送收包。
    • Capture
      • 此範例利用接收端口,在獲取數據同時,可以進行擷取封包功能。
  • Windows Program
    • Transmit packets - single direct
      • 此範例以視窗方式展示參數設定,傳送封包以及顯示結果。利用python內建的TK來實現。將console範例的參數,視窗化配置。

沒有留言:

張貼留言