Difference between tcpclient and tcpip?

Hi folks,
What is the difference between tcpclient provided by the standard Matlab and tpcip provided by the Intrument control toolbox? I don't have that toolbox and want to communicate with a device over tcp (sending commands and recieving measurement values). I'm still not aware of the difference of both functions.
Regards, Christian

답변 (4개)

srj4anoop
srj4anoop 2016년 5월 12일

3 개 추천

Hi Christian,
With the tcpclient() function you can only create a TCP/IP client object. The syntax of using tcpclient() is as shown below :
>> tclient = tcpclient('Address',Port,'Timeout',<timeout_value>)
where the Timeout property specifies the waiting time to complete read and write operations in seconds, and the default is 10.
Whereas the tcpip() function lets you create a TCP/IP object that can be configured to work as a Server or as a Client using its NetworkRole property.
For example, to create a TCP/IP server object:
tcpipServer = tcpip('0.0.0.0',55000,'NetworkRole','Server');
and to create a TCP/IP client interface for the server socket:
tcpipClient = tcpip('127.0.0.1',55000,'NetworkRole','Client')
You can refer to the following blog to undertsand more about this function:
RST
RST 2022년 8월 4일
편집: RST 2024년 3월 5일

1 개 추천

In addition to the above it appears that:
tcpip
  • acts as a MATLAB fileID (similar to a C-language FILE*), so supports fread(), fgets(), fwrite(), fprintf(), etc
  • has a long (20 second?) connection timeout, that can not be changed. Please fix this, Mathworks!
tcpclient
  • acts more like a C-language integer file descriptor. In versions earlier than R2020b it only supports the low-level read() and write() functions. R2020b introduced: configureTerminator(), readline(), writeline() and configureCallback().
  • supports ConnectTimeout as an optional argument in the constructor
If at first you don't succeed: cheat. A work-around for the tcpip connection timeout issue is to attempt to make a tcpclient connection. If that fails then throw an error, otherwise delete the tcpclient and make a tcpip.
Walter Roberson
Walter Roberson 2016년 5월 12일

0 개 추천

You might also be interested in the File Exchange contribution "tcpudpip"
Dev-iL
Dev-iL 2016년 5월 17일

0 개 추천

  • tcpip can act both as a client and a server, requires the Instrument Control Toolbox and was last modified in R2011a.
  • tcpclient can only act as a client, doesn't require additional toolboxes (as far as I can tell) and was introduced later, that is in R2014b.

제품

질문:

2016년 5월 9일

편집:

RST
2024년 3월 5일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by