📄 tcpip_read.m
字号:
function data=tcpip_read(varargin) % str=tcpip_read(fid,len,datatype)% str=tcpip_read(fid,len)%% fid is file id.% len is maximum length to be read.% datatype optional char array argument specifying what datatype to read.%% Read given number of characters (bytes) OR elements of other datatype% if specified. Data vill be returned as specified datatype.% Se fwrite for more about names of different datatypes.%% Operation will be interupted before len is reached if their% is no more character to read at the moment. (non blocking)%%% Problems:% % Type conversion from the tcpipstream of 'char' is stream is slow!!!!% If you use this functionality you schuold know their is better% ways of doing it! u8read() and u8write() are available at mathworks % user contributed ftp site and are probably better way of convert% this stream of char to other data types afterwords in your script.% % Somethink similar will be included in future inside the toolbox....% % % EXAMPLE 1:%% data=tcpip_read(fid,20,'double');%% Reads (max) 20 elements of type 'double' from tcpip connection.%%% EXAMPLE 2:%% data=tcpip_read(fid,20);%% Reads characters (bytes) from tcpip connection.%%% EXAMPLE 3:%% data=tcpip_read(fid,1024,'uint16');%% Reads 1024 elements of datatype uint16.% fid=-2; if nargin>1, fid=varargin{1}; len=varargin{2}; else len=varargin{1}; end if nargin>2, % If other datatype then char. . . dt=varargin{3}; tmpn=tempname; dfid=fopen(tmpn,'w+','ieee-be'); if dfid==-1, error(['Cant open tmp file:',tmpn]); end % Get size of data type. fwrite(dfid,1,dt); sz=ftell(dfid); frewind(dfid); % Detect available size data=tcpipmex(5,fid,len*sz); len=floor(length(data)/sz); % Read available number of elements as chars. data=tcpipmex(3,fid,len*sz); % Convert datatype and byte order with help of a % file. fwrite(dfid,data(1:len*sz)); frewind(dfid); data=fread(dfid,len,dt); fclose(dfid); delete(tmpn); else % Simple read with char as input data type. data=tcpipmex(3,fid,len); end return;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -