如何通过Matlab事件和侦听器发送数据?
我有一个实时接收信息的代码。每次它收到这个数据时,我希望它通知另一个对象,该对象有一个侦听器来监听这个事件,并发送我的第一个应用程序收到的信息。所有这些都是异步的。有什么想法吗?假设我有一门课“myClass”,我想听听。首先,我需要: 然后,在要传递数据的方法中,构造一个如何通过Matlab事件和侦听器发送数据?,matlab,events,asynchronous,real-time,listeners,Matlab,Events,Asynchronous,Real Time,Listeners,我有一个实时接收信息的代码。每次它收到这个数据时,我希望它通知另一个对象,该对象有一个侦听器来监听这个事件,并发送我的第一个应用程序收到的信息。所有这些都是异步的。有什么想法吗?假设我有一门课“myClass”,我想听听。首先,我需要: 然后,在要传递数据的方法中,构造一个myEventData对象并使用notify引发事件: methods function getDataAndNotify(obj) [A, B, C] = result_of_processin
myEventData
对象并使用notify
引发事件:
methods
function getDataAndNotify(obj)
[A, B, C] = result_of_processing;
eventdata = myEventData(A, B, C);
notify(obj, 'myEvent', eventdata);
end
end
好的,现在你们的班级已经准备好播放活动了。我们怎么听呢
用于设置侦听器:
M = myClass;
myListener = addListener(M, 'myEvent', {@myListenerCallback});
回调必须至少有两个参数。第一个参数是事件的来源;第二个是事件可能传递的任何数据
function myListenerCallback(obj, eventdata)
% ...
end
在这种情况下,
obj
将是引发事件的myClass
obj,而eventdata
将是包含您传递的数据的myEventData
对象。像访问任何其他对象的属性一样访问数据,例如,eventdata.A
,eventdata.B
,eventdata.C
,假设我有一个要侦听的类“myClass”。首先,我需要:
然后,在要传递数据的方法中,构造一个myEventData
对象并使用notify
引发事件:
methods
function getDataAndNotify(obj)
[A, B, C] = result_of_processing;
eventdata = myEventData(A, B, C);
notify(obj, 'myEvent', eventdata);
end
end
好的,现在你们的班级已经准备好播放活动了。我们怎么听呢
用于设置侦听器:
M = myClass;
myListener = addListener(M, 'myEvent', {@myListenerCallback});
回调必须至少有两个参数。第一个参数是事件的来源;第二个是事件可能传递的任何数据
function myListenerCallback(obj, eventdata)
% ...
end
在这种情况下,
obj
将是引发事件的myClass
obj,而eventdata
将是包含您传递的数据的myEventData
对象。像访问任何其他对象的属性一样访问数据,例如,eventdata.A
,eventdata.B
,eventdata.C
,假设我有一个要侦听的类“myClass”。首先,我需要:
然后,在要传递数据的方法中,构造一个myEventData
对象并使用notify
引发事件:
methods
function getDataAndNotify(obj)
[A, B, C] = result_of_processing;
eventdata = myEventData(A, B, C);
notify(obj, 'myEvent', eventdata);
end
end
好的,现在你们的班级已经准备好播放活动了。我们怎么听呢
用于设置侦听器:
M = myClass;
myListener = addListener(M, 'myEvent', {@myListenerCallback});
回调必须至少有两个参数。第一个参数是事件的来源;第二个是事件可能传递的任何数据
function myListenerCallback(obj, eventdata)
% ...
end
在这种情况下,
obj
将是引发事件的myClass
obj,而eventdata
将是包含您传递的数据的myEventData
对象。像访问任何其他对象的属性一样访问数据,例如,eventdata.A
,eventdata.B
,eventdata.C
,假设我有一个要侦听的类“myClass”。首先,我需要:
然后,在要传递数据的方法中,构造一个myEventData
对象并使用notify
引发事件:
methods
function getDataAndNotify(obj)
[A, B, C] = result_of_processing;
eventdata = myEventData(A, B, C);
notify(obj, 'myEvent', eventdata);
end
end
好的,现在你们的班级已经准备好播放活动了。我们怎么听呢
用于设置侦听器:
M = myClass;
myListener = addListener(M, 'myEvent', {@myListenerCallback});
回调必须至少有两个参数。第一个参数是事件的来源;第二个是事件可能传递的任何数据
function myListenerCallback(obj, eventdata)
% ...
end
在这种情况下,
obj
将是引发事件的myClass
obj,而eventdata
将是包含您传递的数据的myEventData
对象。像访问任何其他对象的属性一样访问数据,例如,eventdata.A
,eventdata.B
,eventdata.C
,一个好的起点是。我已经去过那里了。。。没有帮助!一个好的开始是。我已经去过那里了。。。没有帮助!一个好的开始是。我已经去过那里了。。。没有帮助!一个好的开始是。我已经去过那里了。。。没有帮助!谢谢,如果你能直截了当地使用一个倾听者,那就行了。如果事件是在一个类调用的函数中触发的,而侦听器位于另一个类的方法中,而触发它的对象不是在该类中创建的,该怎么办?您需要在侦听类中编写一个方法,将事件类作为参数,并在那里分配侦听器。基本上,您只是围绕addlistener
创建了一个包装器函数。我已经完成了,谢谢!昨天刚开始工作!!;)@DangKhoa,谢谢你的好例子。但是,您可以在myListenerCallback函数下添加更多关于填充内容的内容吗。欣赏它,如果你能直接使用一个倾听者,那就行了。如果事件是在一个类调用的函数中触发的,而侦听器位于另一个类的方法中,而触发它的对象不是在该类中创建的,该怎么办?您需要在侦听类中编写一个方法,将事件类作为参数,并在那里分配侦听器。基本上,您只是围绕addlistener
创建了一个包装器函数。我已经完成了,谢谢!昨天刚开始工作!!;)@DangKhoa,谢谢你的好例子。但是,您可以在myListenerCallback函数下添加更多关于填充内容的内容吗。欣赏它,如果你能直接使用一个倾听者,那就行了。如果事件是在一个类调用的函数中触发的,而侦听器位于另一个类的方法中,而触发它的对象不是在该类中创建的,该怎么办?您需要在侦听类中编写一个方法,将事件类作为参数,并在那里分配侦听器。基本上,您只是围绕addlistener
创建了一个包装器函数。我已经完成了,谢谢!昨天刚开始工作!!;)@DangKhoa,谢谢你的好例子。但是,您可以在myListenerCallback函数下添加更多关于填充内容的内容吗。欣赏它,如果你能直接使用一个倾听者,那就行了。如果是偶数呢