Difference between tcpclient and tcpip?
12 ビュー (過去 30 日間)
古いコメントを表示
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
0 件のコメント
回答 (4 件)
srj4anoop
2016 年 5 月 12 日
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:
0 件のコメント
RST
2022 年 8 月 4 日
編集済み: RST
2024 年 3 月 5 日
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.
0 件のコメント
Walter Roberson
2016 年 5 月 12 日
You might also be interested in the File Exchange contribution "tcpudpip"
0 件のコメント
Dev-iL
2016 年 5 月 17 日
- 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.
0 件のコメント
参考
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!