Transition Your Code to tcpserver
Interface
The tcpip
function, its object functions, and its properties will
be removed. Use the tcpserver
interface instead.
tcpip Interface | tcpserver Interface | Example |
---|---|---|
tcpip , NetworkRole , and
fopen | tcpserver | Create a TCP/IP Server |
instrfind and
instrfindall | tcpserverfind | Find Existing TCP/IP servers |
fwrite | write | Write and Read |
fread | read | |
fprintf | writeline | Read Terminated String |
fscanf | readline | Read Terminated String |
fgetl | Read and Parse String Data | |
fgets | ||
binblockwrite | writebinblock | Write and Read Data with the Binary Block Protocol |
binblockread | readbinblock | |
flushinput and
flushoutput | flush | Flush Data from Memory |
Terminator | configureTerminator | Set Terminator |
BytesAvailableFcnCount ,
BytesAvailableFcnMode , and
BytesAvailableFcn | configureCallback | Set Up Callback Function |
BytesAvailable | NumBytesAvailable | |
LocalHost | ServerAddress | |
RemoteHost | ClientAddress | |
LocalPort and
LocalPortMode | ServerPort | |
RemotePort | ||
ErrorFcn | ErrorOccurredFcn | |
fclose | clear or delete | Disconnect TCP/IP Server |
Removed Functionality
The ValuesReceived
and
ValuesSent
properties will be removed. You can calculate
the number of values sent using the NumBytesAvailable
property
and the data type of the data available. For example, if the
NumBytesAvailable
is 20 bytes of uint32
data, the number of values sent is five since each uint32
value
is four bytes.
The readasync
and
stopasync
functions and the
ReadAsyncMode
, TransferDelay
, and
TransferStatus
properties will be removed. The updated
interface reads data asynchronously.
The BytesToOutput
,
InputBufferSize
, and OutputBufferSize
properties will be removed. Buffer sizes are automatically managed and sized as
needed.
The OutputEmptyFcn
property will
be removed. You can set callback functions using
configureCallback
in the updated interface, but not for
this property.
The RecordDetail
, RecordMode
,
RecordName
, and RecordStatus
properties will be removed.
The TimerFcn
and TimerPeriod
properties
will be removed. Use timer
instead.
The Name
, Type
,
ObjectVisibility
, Status
, and
Tag
properties will be removed.
Find Existing TCP/IP servers
instrfind
and instrfindall
will be removed.
Use tcpserverfind
instead. (since R2024a)
Create a TCP/IP Server
These examples show how to create a TCP/IP server using the recommended functionality.
Functionality | Use This Instead |
---|---|
t = tcpip("192.168.2.15",3030,"NetworkRole","server"); fopen(t) This binds to host
| t = tcpserver("0.0.0.0",3030); This
binds to |
The fopen
function is not available in the updated interface.
The object creation function tcpserver
both creates and
connects the object.
The fclose
function is not available in the updated
interface. The clear
function disconnects the object when it
removes the object from the workspace.
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.
Functionality | Use 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" |
Read Terminated String
These examples show how to write and read terminated string data using the recommended functionality.
Functionality | Use 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'
| |
% t is a tcpip object t.Terminator = "CR"; fprintf(t,"hello") data = fgets(t) data = 'hello '
|
Read and Parse String Data
This example shows how to read and parse string data using the recommended functionality.
Functionality | Use 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.
Functionality | Use 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.
Functionality | Use 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.
Functionality | Use 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.
Functionality | Use 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
.
Disconnect TCP/IP Server
The fclose
function is not available in the updated
interface. To disconnect a TCP/IP server, use clear
or delete
instead, depending upon
whether you are working in a single workspace or multiple workspaces. For details,
see the following examples on the tcpserver
reference page: