Omnet++ OMNeT++;:如何通过特定的无线接口发送数据包?

Omnet++ OMNeT++;:如何通过特定的无线接口发送数据包?,omnet++,inet,Omnet++,Inet,我有两个节点,每个节点由两个WLAN接口组成,wlan0isieee80211,wlan1isieee80215基于INET框架中的临时主机 我正在用UDP发送一个数据包。当我启用两个WLAN接口时,它总是通过wlan0(即ieee80211协议)发送数据包。如果我想用ieee80215发送数据包,我必须禁用发送方节点中的ieee80211 WLAN接口 有没有办法确定哪个WLAN接口将用于发送数据包?您可以选择要选择哪个接口来发送数据包,并将InterfaceRequest标记添加到数据包中。

我有两个节点,每个节点由两个WLAN接口组成,
wlan0
is
ieee80211
wlan1
is
ieee80215
基于INET框架中的临时主机

我正在用UDP发送一个数据包。当我启用两个WLAN接口时,它总是通过wlan0(即ieee80211协议)发送数据包。如果我想用ieee80215发送数据包,我必须禁用发送方节点中的ieee80211 WLAN接口


有没有办法确定哪个WLAN接口将用于发送数据包?

您可以选择要选择哪个接口来发送数据包,并将InterfaceRequest标记添加到数据包中。以下代码通过wlan1接口发送udp数据包

InterfaceEntry *ifEntry = interfaceTable->getInterfaceByName("wlan1");
Packet *udpPacket = new Packet("Packet");
udpPacket->addTagIfAbsent<InterfaceReq>()->setInterfaceId(ifEntry->getInterfaceId());

由于这些是不同的无线技术,它们显然位于不同的IP网络上。或者至少应该将它们配置为在不同的网络上。如果它们位于不同的网络上,那么您的目标IP将清楚地选择数据包应该使用的接口

简而言之,您的IP(地址和网络)可能配置不正确,这就是为什么您不能仅使用IP地址在两个接口之间进行选择

InterfaceEntry *ifEntry = interfaceTable->getInterfaceById(int interfaceID);