# wxClient Class Reference
[Interprocess Communication]

`#include <wx/ipc.h>`

Inheritance diagram for wxClient:
[legend]

## Detailed Description

A wxClient object represents the client part of a client-server DDE-like (Dynamic Data Exchange) conversation.

The actual DDE-based implementation using wxDDEClient is available on Windows only, but a platform-independent, socket-based version of this API is available using wxTCPClient, which has the same API.

To create a client which can communicate with a suitable server, you need to derive a class from wxConnection and another from wxClient. The custom wxConnection class will intercept communications in a 'conversation' with a server, and the custom wxClient is required so that a user-overridden wxClient::OnMakeConnection member can return a wxConnection of the required class, when a connection is made.

Look at the IPC sample and the Interprocess Communication for an example of how to do this.

##

Library: wxBase

Category: Interprocess Communication

See also:
  wxServer, wxConnection, Interprocess Communication

## Public Member Functions
| wxClient ()
| Constructs a client object.
wxConnectionBase * | MakeConnection (const wxString &host, const wxString &service, const wxString &topic)
| Tries to make a connection with a server by host (machine name under UNIX - use 'localhost' for same machine; ignored when using native DDE in Windows), service name and topic string.
wxConnectionBase * | OnMakeConnection ()
| Called by MakeConnection(), by default this simply returns a new wxConnection object.
bool | ValidHost (const wxString &host)
| Returns true if this is a valid host name, false otherwise.

List of all members.

## Constructor & Destructor Documentation

wxClient::wxClient | ( |  | ) |

Constructs a client object.

## Member Function Documentation

wxConnectionBase* wxClient::MakeConnection | ( | const wxString & | host,
|  | const wxString & | service,
|  | const wxString & | topic |
| ) |  |  |

Tries to make a connection with a server by host (machine name under UNIX - use 'localhost' for same machine; ignored when using native DDE in Windows), service name and topic string.

If the server allows a connection, a wxConnection object will be returned. The type of wxConnection returned can be altered by overriding the OnMakeConnection() member to return your own derived connection object.

Under Unix, the service name may be either an integer port identifier in which case an Internet domain socket will be used for the communications, or a valid file name (which shouldn't exist and will be deleted afterwards) in which case a Unix domain socket is created.

Note:
  Using Internet domain sockets is extremely insecure for IPC as there is absolutely no access control for them, use Unix domain sockets whenever possible!

wxConnectionBase* wxClient::OnMakeConnection | ( |  | ) |

Called by MakeConnection(), by default this simply returns a new wxConnection object.

Override this method to return a wxConnection descendant customised for the application.

The advantage of deriving your own connection class is that it will enable you to intercept messages initiated by the server, such as wxConnection::OnAdvise. You may also want to store application-specific data in instances of the new class.

bool wxClient::ValidHost | ( | const wxString & | host | ) |

Returns true if this is a valid host name, false otherwise.

This always returns true under MS Windows.

|  | [ top ]