2011-07-05 40 views
1

爲了實現tcp/ip模擬,我爲每層創建數據包。如何通過omnet中的門發送.msg?

由於OMNET發送功能只支持發送cMessage對象,而我使用.msg定義從cMessage子類,我不能找到一種方法,通過門來發送數據包,而不會丟失數據。

例如,對於應用層我想補充destAddresspacketLength所以我創建:

message AppPacket 
{ 
    int pktLength; 
    int destAddress; 
} 

現在,我已經創建.cc.h班OMNET實現它:

class AppPacket : public cMessage { ... } 

我有一個新的AppPacket與所有需要的數據後,我想發送到較低層(到傳輸層),但我不能,因爲發送功能只發送cMessage個對象。

我該怎麼辦?我認爲Message的重點是幫助我們實現網絡數據包。

回答

0

AppPacket的.cc和.h文件將自動生成。 關於發送函數需要的類型,請注意,您的類繼承了cMessage對象,所以AppPacket也是cMessage!查看從tcpApp發送自定義消息的示例代碼:

CustomMsg *msg = new CustomMsg("data"); 
msg->setByteLength(numBytes); 
msg->setExpectedReplyLength(expectedReplyBytes); 
msg->setServerClose(serverClose); 
msg->setContent("message-specific-content"); 

socket.send(msg); 
相關問題