Main Content

Transition Your Code to tcpserver Interface

The tcpip function, its object functions, and its properties will be removed. Use the tcpserver interface instead.

tcpip Interfacetcpserver InterfaceExample
tcpiptcpserverCreate a TCP/IP Server
fwrite and freadwrite and readWrite and Read
fprintfwritelineRead Terminated String
fscanf, fgetl, and fgetsreadlineRead Terminated String
Read and Parse String Data
binblockwrite and binblockreadwritebinblock and readbinblockWrite and Read Data with the Binary Block Protocol
flushinput and flushoutputflushFlush Data from Memory
TerminatorconfigureTerminatorSet Terminator
BytesAvailableFcnCount, BytesAvailableFcnMode, BytesAvailableFcn, and BytesAvailableconfigureCallbackSet Up Callback Function
tcpip Propertiestcpserver Properties  

Create a TCP/IP Server

These examples show how to create and clear a TCP/IP server using the recommended functionality.

FunctionalityUse This Instead
t = tcpip("192.168.2.15",3030,"NetworkRole","server");
fopen(t)

This binds to host "0.0.0.0" (internally) and port 3030 and only accepts client connections coming from "192.168.2.15". MATLAB® is blocked until a client connection is established.

t = tcpserver("0.0.0.0",3030);

This binds to "0.0.0.0" and port 3030. "0.0.0.0" means that it accepts any incoming client connection requests on port 3030. MATLAB is not blocked.

fclose(t)
delete(t)
clear t
clear t

For more information, see tcpserver.

Write and Read

These examples show how to perform a binary write and read, and how to write and read nonterminated string data, using the recommended functionality.

FunctionalityUse This Instead
% t is a tcpip object
fwrite(t,1:5);
data = fread(t,5)
data =

     1
     2
     3
     4
     5
% t is a tcpserver object
write(t,1:5,"uint8")
data = read(t,5)
data =

     1     2     3     4     5
% t is a tcpip object
fwrite(t,"hello","char")
length = 5;
data = fread(t,length,"char")
data =

   104
   101
   108
   108
   111
data = char(data)'
data =

    'hello'
% t is a tcpserver object
write(t,"hello","string");
length = 5;
data = read(t,length,"string")
data =

    "hello"

For more information, see write or read .

Read Terminated String

These examples show how to write and read terminated string data using the recommended functionality.

FunctionalityUse This Instead
% t is a tcpip object
t.Terminator = "CR";
fprintf(t,"hello")
data = fscanf(t)
data =

    'hello
     '
% t is a tcpserver object
configureTerminator(t,"CR");
writeline(t,"hello");
data = readline(t)
data = 

    "hello"
% t is a tcpip object
t.Terminator = "CR";
fprintf(t,"hello")
data = fgetl(t)
data =

    'hello'

fgetl reads until the specified terminator is reached and then discards the terminator.

% t is a tcpip object
t.Terminator = "CR";
fprintf(t,"hello")
data = fgets(t)
data =

    'hello
     '

fgets reads until the specified terminator is reached and then returns the terminator.

For more information, see writeline or readline.

Read and Parse String Data

This example shows how to read and parse string data using the recommended functionality.

FunctionalityUse This Instead
% t is a tcpip object
data = scanstr(t,';')
data =

  3×1 cell array

    {'a'}
    {'b'}
    {'c'}
% t is a tcpserver object
data = readline(t)
data = 

    "a;b;c"
data = strsplit(data,";")
data = 

  1×3 string array

    "a"    "b"    "c"

For more information, see readline.

Write and Read Data with the Binary Block Protocol

This example shows how to write data with the IEEE standard binary block protocol using the recommended functionality.

FunctionalityUse This Instead
% t is a tcpip object
binblockwrite(t,1:5);
data = binblockread(t)
data =

     1
     2
     3
     4
     5
% t is a tcpserver object
writebinblock(t,1:5,"uint8");
data = readbinblock(t)
data =

     1     2     3     4     5

For more information, see writebinblock or readbinblock.

Flush Data from Memory

These examples show how to flush data from the buffer using the recommended functionality.

FunctionalityUse This Instead
% t is a tcpip object
flushinput(t)
% t is a tcpserver object
flush(t,"input")
% t is a tcpip object
flushoutput(t)
% t is a tcpserver object
flush(t,"output")
% t is a tcpip object
flushinput(t)
flushoutput(t)
% t is a tcpserver object
flush(t)

For more information, see flush.

Set Terminator

These examples show how to set the terminator using the recommended functionality.

FunctionalityUse This Instead
% t is a tcpip object
t.Terminator = "CR/LF";
% t is a tcpserver object
configureTerminator(t,"CR/LF")
% t is a tcpip object
t.Terminator = {"CR/LF" [10]};
% t is a tcpserver object
configureTerminator(t,"CR/LF",10)

For more information, see configureTerminator.

Set Up Callback Function

These examples show how to set up a callback function using the recommended functionality.

FunctionalityUse This Instead
% t is a tcpip object
t.BytesAvailableFcnCount = 5
t.BytesAvailableFcnMode = "byte"
t.BytesAvailableFcn = @mycallback

function mycallback(src,evt)
   data = fread(src,src.BytesAvailableFcnCount);
   disp(evt)
   disp(evt.Data)
end
    Type: 'BytesAvailable'
    Data: [1×1 struct]

    AbsTime: [2019 12 21 16 35 9.7032]
% t is a tcpserver object
configureCallback(t,"byte",5,@mycallback);

function mycallback(src,evt)
   data = read(src,src.BytesAvailableFcnCount);
   disp(evt)
end
  ByteAvailableInfo with properties:

    BytesAvailableFcnCount: 5
                   AbsTime: 21-Dec-2019 12:23:01
% t is a tcpip object
t.Terminator = "CR"
t.BytesAvailableFcnMode = "terminator"
t.BytesAvailableFcn = @mycallback

function mycallback(src,evt)
   data = fscanf(src);
   disp(evt)
   disp(evt.Data)
end
    Type: 'BytesAvailable'
    Data: [1×1 struct]

    AbsTime: [2019 12 21 16 35 9.7032]
% t is a tcpserver object
configureTerminator(t,"CR")
configureCallback(t,"terminator",@mycallback);

function mycallback(src,evt)
   data = readline(src);
   disp(evt)
end
  TerminatorAvailableInfo with properties:

                   AbsTime: 21-Dec-2019 12:23:01

For more information, see configureCallback.

See Also

Related Topics