做了一个UDP通信的GUI界面,并且将发送和接收弄到了同一个界面上,在同一台电脑上试过,能够工作,点击Open Transmit UDP和Open Receive UDP之后,在左下方的白框里输入要发送的数据,点击Send Data,再点击Receive Data,可以在右下方的白框里显示接收到的数据。
但这种方式有一个问题,如果接收的是一个时间上的数据流,那么只能将点击Receive Data之前缓存接收到的数据读取出来,对点击Receive Data之后缓存接收到的数据却没法读取。要怎样解决这个问题呢。我尝试用中断回调函数,利用BytesAvailableFcn这样的方式,每接收到10个字节就读取一次缓存,但却没能成功。实在不知道该怎么办,只能求助大家了。谢谢先。
附上源码
function varargout = UDPCommunication(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @UDPCommunication_OpeningFcn, ...
'gui_OutputFcn', @UDPCommunication_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_