close

  OMNet++ 有個強大的地方就是 timer,就是模擬的時間,我不知道 NS2 有沒 有利用時間控制流程的功能,就是到某個時間驅動某個事件,雖然這功能在 OMNet++ 不是很直觀,但為了寫 real time 的 simulation 這是必要的。
  OMNet++ 是以 message trigger,所有事件的發生、處理、停止都是藉由 message,所以如何讓時間跑也是靠 message,當程式一開始可以發個 message 給自己,而當自己收到此 message 後再加上一個特定時間再把這 message 丟給 自己,於是就相隔特定時間不斷的處理這個訊息,時間軸就會往前推進,而在每 個時間點也就可以處理事情,不用等其他人丟事件才能動。
  因為是用 message 推著時間跑,所以多少 message type 就可以有多少 timer,利用 multi-timer 的觀念就可以實現"史瑞德" thread,不用真的用 C++ 去寫 thread 了,至少我覺得 C 的 thread 很難寫 >"   想更了解 OMNet++ 的時間可以參考 cSimulation 這個 class,simTime( ) 和 scheduleAt( ) 都在那。

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 小郭阿利 的頭像
    小郭阿利

    小郭阿利的網路日誌

    小郭阿利 發表在 痞客邦 留言(0) 人氣()