【发布时间】:2020-12-09 21:39:42
【问题描述】:
我正在尝试在使用静脉时为 mysumo 场景 (traci.lane.setDisallowed) 实现 TraCi 命令。我在 TraciCommandInterface.cpp 中创建了一个新命令,例如:
void TraCICommandInterface::Lane::setDisallowed(std::list<std::string> disallowedClasses)
{
TraCIBuffer buf = connection->query(CMD_SET_LANE_VARIABLE, TraCIBuffer() << LANE_DISALLOWED << laneId << TYPE_STRINGLIST << disallowedClasses);
ASSERT(buf.eof());
}
并像这样称呼:
std::list<std::string> disallowedClasses = {"all"};
if (simTime()==20) {
TraCICommandInterface* cInt = getCommandInterface();
cInt->lane("ed_1_0").setDisallowed(disallowedClasses);
}
问题是我得到了错误: 回答命令 0xc3 错误:调度命令 195 后 requestMessage 中的位置错误。预期的命令长度为 38,但读取了 18 个字节。
我执行命令的方式有问题吗?有什么建议为什么会出现这个问题?
【问题讨论】: