我想使用一些似乎没有在omnet ++ / veins中实现的sumo / traci命令,例如:
能够从omnet ++ / veins使用这些命令的最简单方法是什么?
非常感谢您的帮助。 问候:)
答案 0 :(得分:2)
您可以在TraCICommandInterface.cc, for example to set a TL program中找到与SUMO进行交互的现有客户端源代码:
TraCIBuffer buf = connection->query(CMD_SET_TL_VARIABLE, TraCIBuffer()
<< static_cast<uint8_t>(TL_PROGRAM)
<< trafficLightId
<< static_cast<uint8_t>(TYPE_STRING)
<< program
);
可以在TraCIServerAPI_TLS.cpp, for example to set a TL program中找到相应的服务器源代码:
// variable & id
int variable = inputStorage.readUnsignedByte();
std::string id = inputStorage.readString();
// [...] case TL_PROGRAM:
server.readTypeCheckingString(inputStorage, subID)
vars.switchTo(tlsControl, subID);
通过调查服务器如何准备与客户端交互(以及客户端如何与服务器交互),您应该能够根据您的意愿扩展客户端。