2016-03-30 52 views
0

WAVE mesajının uzunluğu nasıl değiştirilir. Yöntem setWsmLength çalışmıyor. here'daki yanıttan, WAVE'de işlevsellik uygulanmadığından bunun mümkün olmadığına katılıyorum. Ancak verilen cevap çok belirsiz. Net olan bir .msg dosyası oluşturmayı ister. Ama kalanlar çok net değil. Birisi açıklayabilir mi, açıklayabilir mi?WAVE mesajının uzunluğunun değiştirilmesi (VEINS/OMNET ++)

P: Bu konuya yorum ekleyemedim, bu yüzden yeni bir soru sormak zorunda kaldım. bir zaman mevcut boyutunu artırmak için addByteLength() kullanabilir veya setByteLength()OMNeT++manual yeni bunun büyüklüğü açıklamasına ayarlamak için çok

cevap

2

WaveShortMessage, bir OMNeT++ pakettir. Yeni bir mesaj tanımlamak gerekli değildir.
Bir örnek: cevap için

WaveShortMessage* wsm = prepareWSM("data", dataLengthBits, channel, dataPriority, -1,2); 
wsm->setWsmData(blockedRoadId.c_str()); 
int byteLen = blockedRoadId.length(); // assuming that one char = one byte 
wsm->addByteLength(byteLen); 
+0

teşekkürler. Bunu yapmayı denedim ama bir şekilde sonucu değiştirmiyor. Veins kanal kapasitesini 3Mbps'ye ayarladık ve sistemi aşırı yüklemeye çalışıyorum. Ama paket büyüklüğünü ne kadar büyük tutarsam farketmez, sistem asla aşırı yüklenmez. Sorun, Veins'in paketlerin boyut değişimini simüle etmemesi olabilir mi? – dutu

+0

Veins, her "beaconInterval" döneminde bir "WaveShortMessage" gönderir. Varsayılan olarak 'beaconInterval' 1 s'ye eşittir. Tek bir araba ile 3 Mbps bant genişliği tüketmek için boyutu ayarlamanız gerekir ... yaklaşık. 370 kilobayt! Yani omnetpp.ini'de 'beaconInterval'ı azaltmaya çalışın. –