3
Veins를 처음 사용하고 이전에 WSM 패킷이 수신되었는지 감지하는 메커니즘을 구현하려고했습니다. 패킷을 식별하기 위해 "psid"를 주 변수로 사용하고 있습니다. 정확합니까?Veins의 중복 확인
이 코드 유형이 작동합니까? :
bool MyVeinsApp::msgReceivedBefore(int psid){
/*
This function will be used to determine if the message was received before
and should be discarded or processed further
*/
if(msg_log.find(psid) == msg_log.end()){
return false
}
else {
return true;
}
}
여기서 msg.log는 psid를 기반으로하는 WSM을 저장하는 C++ 데이터 구조입니다.
이것은 100 % 정확하지 않습니다. Veins는 내부적으로 메시지를 복제하기 때문에 모든 차량은 다른 ID로 메시지를 수신합니다. 실제로 메시지는 동일한 브로드 캐스트입니다. 따라서이 작업을하려면 메시지를 고유 한 식별자로 확장하고 시뮬레이션 환경에서 getUniqueNumber()를 사용하여 값을 할당해야합니다. – floxyz