⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tcpip_write.m

📁 A very small 250-line library (written entirely in MATLAB) that allows multiple MATLAB programs to t
💻 M
字号:
function [varargout]=tcpip_write(varargin)  % unsent = tcpip_write(fid, arg2, arg3, . . .)% unsent = tcpip_write(str, arg2 . . .)%% fid          is file id number returned from tcpip_open.% arg2, arg2   Arrays of any type to send throw% str          char array must be first argument if fid%              is not the first. Chould be  str=''%% unsent   is returned string with usent charecters.%          On success an empty char array is returned.%% Outputs arrays to tcpip channel. All variables is sent as the% datatype it is but in network byte order. Notice that a char% array is sent as one data byte per matlab char.% If first argument is a scalar double it's used as file id.% If a char array is given as first argument then last used% fid (current) is used.% Usually all character is sent but if their is trouble only% some or no character is sent, non sent characters is returned.%% NOTE: changed from version 1.0 to 1.1 of tcpip toolbox.%% EXAMPLE 1:%%  V=23;%  tcpip_write(fid,V);%%        Sends V as double to tcpip connection in network byte order.%%% EXAMPLE 2:%%  V='Hello World!';%  tcpip_write(fid,V);%%        Sends text string as array of bytes to tcpip connection;%%% EXAMPLE 3:%%  V=uint16([1 3 0 1024]);%  tcpip_write(fid,V);%%        Sends 4 uint16 to tcpip connection in network byte order;%  % fid is set to current as default.  fid=-2;    % buff is set to empty string as default.  buff='';    if nargin<1,    return;  end    if ischar(varargin{1})==0,    if nargin<2,      return;    end    fid=varargin{1};    startx=2;  else    startx=1;  end    % Check if all input argument is char....  allchar=1;  for x=startx:nargin,    if ischar(varargin{x})==0,      allchar=0;      break;    end  end      % If all is char the do simple send and return  if allchar,    for x=startx:nargin,      buff=[buff,varargin{x}];    end    retmsg=tcpipmex(2,fid,buff);        if nargout>0,      if retmsg<length(buff),        varargout{1}=buff(retmsg+1:end);      else        varargout{1}='';      end    end    return;  end    tmpn=tempname;  dfid=fopen(tmpn,'w+','ieee-be');  if dfid==-1,    error ['Cant create tmp file: ',tmpn];  end  for x=startx:nargin,    cl=class(varargin{x});    fwrite(dfid,double(varargin{x}),cl);  end  frewind(dfid);  while feof(dfid)==0,    buff=[buff,char(fread(dfid,100000))];    buff=tcpip_write(fid,buff);  end  fclose(dfid);  delete(tmpn);  if nargout>0,    varargout{1}=buff;  end  return;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -