使用inet无线电模块时遇到两个问题。我认为它们在某种程度上是相互关联的。
问题1
当我在MAC层使用订阅功能时
HttpServletRequest
我收到此错误
radioModule->subscribe(IRadio::radioModeChangedSignal, this);
radioModule->subscribe(IRadio::transmissionStateChangedSignal, this);
问题2
我的接收器模块在inet.physicallayer.common.RadioMedium.cc中有这些功能的问题
Error in module (inet::physicallayer::Radio) MyNetwork.sta[0].nic[0].radio(id=19) during network initialization: inet::MyMac: Unsupported signal data type long for signal radioModeChanged (id=34).
我收到此错误
const IListening *listening = receiverRadio->getReceiver()->createListening(receiverRadio, arrival->getStartTime(), arrival->getEndTime(), arrival->getStartPosition(), arrival->getEndPosition());
[...]
communicationCache->setCachedListening(receiverRadio, transmission, listening);
答案 0 :(得分:0)
根据问题1:您必须覆盖方法
String mNum1="",mNum2="";
mNum1=e1.getText().toString();
mNum2=e2.getText().toString();
if(!mNum1.equalsIgnoreCase("") && !mNum2.equalsIgnoreCase("") )
{
float num1 = (float) Double.parseDouble(mNum1);
float num2 = (float) Double.parseDouble(mNum2);
float sum = num1 + num2;
System.out.println("sum"+String.valueOf(sum));
t1.setText(String.valueOf(sum));
}
在你的virtual void receiveSignal(cComponent *source, simsignal_t signalID, long l, cObject *details)
课程中。如果没有这种方法,一个简单的模块就不知道如何处理接收信号,因此会抛出错误。
问题2与数据包处理有关,可能是解封装。提供的代码不是它的来源。在MyMac
中设置debug-on-errors=true
,然后在调试模式下运行模拟。您应该在代码中看到导致此错误的位置。