    

 ## On this page

  

 

 # ansys::dpf::Client Class Reference

 Last update: 16.07.2025 

`#include <dpf_api_base.h>`

Inheritance diagram for ansys::dpf::Client:

 ![](/sites/default/files/migrate-content/dpf_cpp_client_library_2025_r2_new_link_to_op_1/classansys_1_1dpf_1_1Client.png)



## <a id="pub-methods" name="pub-methods"></a>Public Member Functions

 [Client](classansys_1_1dpf_1_1Client.xhtml#ab848ac7d438cfdbac21b5c634771e5eb) (std::string const &amp;ip, std::string const &amp;port)  [Client](classansys_1_1dpf_1_1Client.xhtml#a53ac66c262ddb2e4485b6590ddbe4ce6) (std::string const &amp;ip, std::string const &amp;port, [LibraryHandle](classansys_1_1dpf_1_1LibraryHandle.xhtml) const &amp;library\_handle)  [Client](classansys_1_1dpf_1_1Client.xhtml#a2ffa309b414af2d3c89d24e8fb1b292d) (std::string const &amp;address)  [Client](classansys_1_1dpf_1_1Client.xhtml#a13b12680853a5cd3d21ef45ebc8ff3cf) (std::string const &amp;address, [LibraryHandle](classansys_1_1dpf_1_1LibraryHandle.xhtml) const &amp;library\_handle) <a id="a04e16bc14f5a885a01dbe0319809aed6" name="a04e16bc14f5a885a01dbe0319809aed6"></a> **Client** ([Client](classansys_1_1dpf_1_1Client.xhtml) const &amp;) <a id="abd9dd9720d7ae3882753e701ccc2b911" name="abd9dd9720d7ae3882753e701ccc2b911"></a> **Client** ([Client](classansys_1_1dpf_1_1Client.xhtml) &amp;&amp;) noexcept <a id="a0bb061f147ac0b86d79eeef92d9a2089" name="a0bb061f147ac0b86d79eeef92d9a2089"></a>[Client](classansys_1_1dpf_1_1Client.xhtml) &amp; **operator=** ([Client](classansys_1_1dpf_1_1Client.xhtml) const &amp;) <a id="a80e74fee04787f2ca20bd0d18dc26315" name="a80e74fee04787f2ca20bd0d18dc26315"></a>[Client](classansys_1_1dpf_1_1Client.xhtml) &amp; **operator=** ([Client](classansys_1_1dpf_1_1Client.xhtml) &amp;&amp;) noexcept <a id="a639a846bb0055117950c97f1599d6818" name="a639a846bb0055117950c97f1599d6818"></a>opaque::DpfObject \*const **internalObj** () const std::string [getChannelAddress](classansys_1_1dpf_1_1Client.xhtml#ac4d7086213dd34ecb5d83723b85a6a2c) () const std::string [getProtocolName](classansys_1_1dpf_1_1Client.xhtml#a7bb04a2b5cb70a3d2439a1e31d209dbc) () const bool [getOrStartLocalServer](classansys_1_1dpf_1_1Client.xhtml#a2a3f1f5c74b2173801bbce3ad7628cd6) ([ansys::dpf::Streams](classansys_1_1dpf_1_1Streams.xhtml) &amp;streams, [ansys::dpf::Operator](classansys_1_1dpf_1_1Operator.xhtml) &amp;stream\_provider, int output\_pin=0) <a id="a59c1b204080ed29f91883d6671eadfbb" name="a59c1b204080ed29f91883d6671eadfbb"></a>so::API const \* **callAPI** () const ![-](/sites/default/files/migrate-content/dpf_cpp_client_library_2025_r2_new_link_to_op_1/closed.png) Public Member Functions inherited from [ansys::dpf::DpfTypes](classansys_1_1dpf_1_1DpfTypes.xhtml)virtual bool [empty](classansys_1_1dpf_1_1DpfTypes.xhtml#a39cd546c42518e2332be8f287db95459) () const virtual bool [hasInternalObject](classansys_1_1dpf_1_1DpfTypes.xhtml#ae198f89868d85c7db6dc1a934a1d3c15) () const virtual std::string [describe](classansys_1_1dpf_1_1DpfTypes.xhtml#a9977945710983bc03d2940fa007847b2) () const so::API const \* [callAPI](classansys_1_1dpf_1_1DpfTypes.xhtml#aea34d37e0c080126eff70db34bf46597) () const bool [isOnCommonAPI](classansys_1_1dpf_1_1DpfTypes.xhtml#a9f9789ff61cc9d400a2a344830706b73) () const bool [getClient](classansys_1_1dpf_1_1DpfTypes.xhtml#a968afd9daa0b0f13b65a2ac61369d73a) ([Client](classansys_1_1dpf_1_1Client.xhtml) &amp;client) const bool [hasBeenMovedLocally](classansys_1_1dpf_1_1DpfTypes.xhtml#a1a5634202c15404b6b24e8f50e51cb66) () const bool [isSameObject](classansys_1_1dpf_1_1DpfTypes.xhtml#aa64d5f8fcd7d85ad6ebf708494dbefd7) ([DpfTypes](classansys_1_1dpf_1_1DpfTypes.xhtml) const &amp;rhs) const ## <a id="pub-static-methods" name="pub-static-methods"></a>Static Public Member Functions

static [Client](classansys_1_1dpf_1_1Client.xhtml) [emptyClient](classansys_1_1dpf_1_1Client.xhtml#a92c3f1e9c2cdfa589372253103065f73) () <a id="details" name="details"></a>## Detailed Description

[Client](classansys_1_1dpf_1_1Client.xhtml) for remote DPF connection. A [Client](classansys_1_1dpf_1_1Client.xhtml) instance is always associated to a DPF server process. The corresponding server needs to run so that the client instance can then be correctly used. This client allows to create DPF objects on a remote server.



## Constructor &amp; Destructor Documentation

<a id="ab848ac7d438cfdbac21b5c634771e5eb" name="ab848ac7d438cfdbac21b5c634771e5eb"></a>## [◆ ](#ab848ac7d438cfdbac21b5c634771e5eb)Client() \[1/4\]

 ansys::dpf::Client::Client  ( std::string const &amp;  *ip*,    std::string const &amp;  *port*   ) 

Create [Client](classansys_1_1dpf_1_1Client.xhtml) object from known ip and port.

Parameters \[in\]ipserver ip \[in\]portserver port 



<a id="a53ac66c262ddb2e4485b6590ddbe4ce6" name="a53ac66c262ddb2e4485b6590ddbe4ce6"></a>## [◆ ](#a53ac66c262ddb2e4485b6590ddbe4ce6)Client() \[2/4\]

 ansys::dpf::Client::Client  ( std::string const &amp;  *ip*,    std::string const &amp;  *port*,    [LibraryHandle](classansys_1_1dpf_1_1LibraryHandle.xhtml) const &amp;  *library\_handle*   ) 

Create [Client](classansys_1_1dpf_1_1Client.xhtml) from known ip, port and library handle.

Parameters \[in\]ipserver ip \[in\]portserver port \[in\]library\_handlethe library\_handle API will be used 



<a id="a2ffa309b414af2d3c89d24e8fb1b292d" name="a2ffa309b414af2d3c89d24e8fb1b292d"></a>## [◆ ](#a2ffa309b414af2d3c89d24e8fb1b292d)Client() \[3/4\]

 ansys::dpf::Client::Client  ( std::string const &amp;  *address*) 

Create [Client](classansys_1_1dpf_1_1Client.xhtml) from known address.

Parameters \[in\]addressstring with 'ip::port' format. 



<a id="a13b12680853a5cd3d21ef45ebc8ff3cf" name="a13b12680853a5cd3d21ef45ebc8ff3cf"></a>## [◆ ](#a13b12680853a5cd3d21ef45ebc8ff3cf)Client() \[4/4\]

 ansys::dpf::Client::Client  ( std::string const &amp;  *address*,    [LibraryHandle](classansys_1_1dpf_1_1LibraryHandle.xhtml) const &amp;  *library\_handle*   ) 

Create [Client](classansys_1_1dpf_1_1Client.xhtml) from known address and library handle.

Parameters \[in\]addressstring with 'ip::port' format. \[in\]library\_handlethe library\_handle API will be used 



## Member Function Documentation

<a id="a92c3f1e9c2cdfa589372253103065f73" name="a92c3f1e9c2cdfa589372253103065f73"></a>## [◆ ](#a92c3f1e9c2cdfa589372253103065f73)emptyClient()

 static [Client](classansys_1_1dpf_1_1Client.xhtml) ansys::dpf::Client::emptyClient  ( )   static 

Create an empty client.

ReturnsEmpty [Client](classansys_1_1dpf_1_1Client.xhtml) 



<a id="ac4d7086213dd34ecb5d83723b85a6a2c" name="ac4d7086213dd34ecb5d83723b85a6a2c"></a>## [◆ ](#ac4d7086213dd34ecb5d83723b85a6a2c)getChannelAddress()

 std::string ansys::dpf::Client::getChannelAddress  ( )  const

ReturnsAddress string with 'ip::port' format. 



<a id="a2a3f1f5c74b2173801bbce3ad7628cd6" name="a2a3f1f5c74b2173801bbce3ad7628cd6"></a>## [◆ ](#a2a3f1f5c74b2173801bbce3ad7628cd6)getOrStartLocalServer()

 bool ansys::dpf::Client::getOrStartLocalServer  ( [ansys::dpf::Streams](classansys_1_1dpf_1_1Streams.xhtml) &amp;  *streams*,    [ansys::dpf::Operator](classansys_1_1dpf_1_1Operator.xhtml) &amp;  *stream\_provider*,    int  *output\_pin* = `0`   ) 

If it doesn't exist yet, a local server is started. This local server can then be connected to by another server (usually used for bidirectional gRPC connections).

Parameters \[out\]streams[Streams](classansys_1_1dpf_1_1Streams.xhtml "Defines an open, ready-to-use, data sources.") holding the started server. \[in\]stream\_provider[Operator](classansys_1_1dpf_1_1Operator.xhtml "Wrap an elementary operation.") which can start the server. \[in\]output\_pinoutput pin of stream\_provider returning a [ansys::dpf::Streams](classansys_1_1dpf_1_1Streams.xhtml "Defines an open, ready-to-use, data sources."). 



<a id="a7bb04a2b5cb70a3d2439a1e31d209dbc" name="a7bb04a2b5cb70a3d2439a1e31d209dbc"></a>## [◆ ](#a7bb04a2b5cb70a3d2439a1e31d209dbc)getProtocolName()

 std::string ansys::dpf::Client::getProtocolName  ( )  const

ReturnsProtocol's name.