トップ 一覧 検索 ヘルプ ログイン

wxClientの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
原文は[こちら|http://www.wxwidgets.org/manuals/2.6.2/wx_wxclient.html#wxclient]をご覧下さい。

!!! wxClient

wxClientオブジェクトは、クライアント−サーバ間のDDE(Dynamic Data Exchange)ライクな通信のクライアント部分を表現する。wxDDEClientを使用した実際のDDEベースの実装は、Windowsでのみ利用可能である。しかし、同じAPIを持つwxTCPClientを使用すると、プラットフォームに依存しない、ソケットベースのAPIの使用が可能である。

"" 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.

適合するサーバとの通信を行うクライアントを作成するためには、wxConnectionを継承したクラスと、wxClientを継承したクラスを準備する必要がある。カスタマイズしたwxConnectionクラスはサーバとの通信を受信する。カスタマイズしたwxClientでは、コネクションを確立するときに、ユーザによりオーバーライドされたwxClient::OnMakeConnectionメンバが要求されたクラスのwxConnectionを返すことができるよう要求される。IPCサンプルとプロセス間通信の概要を参照のこと。

"" 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 communications overview for an example of how to do this.

<<基本クラス>>

wxClientBase
wxObject

<<インクルードファイル>>

<wx/ipc.h>

<<参考>>

wxServer, wxConnection, プロセス間通信の概要

<<メンバ>>

wxClient::wxClient
wxClient::MakeConnection
wxClient::OnMakeConnection
wxClient::ValidHost

! wxClient::wxClient
!! wxClient::wxClient

wxClient()

クライアントオブジェクトを構築する。

"" Constructs a client object.

! wxClient::MakeConnection
!! wxClient::MakeConnection

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

host(UNIXではマシン名であり、同一マシンでは'localhost'を使用する。WindowsのDDEでは無視される。)、サービス名service、topic文字列を使用してコネクションの確立を試みる。サーバがコネクションを許可すると、wxConnectionオブジェクトが返る。継承されたコネクションオブジェクトを返すために、wxClient::OnMakeConnectionメンバをオーバーライドすることにより、返されるwxConnectionの型を変更することができる。

"" 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 wxClient::OnMakeConnection member to return your own derived connection object.

Unixでは、サーバ名は、インターネットドメインソケットが通信に使用される場合にはポート番号を、Unixドメインソケットを使用する場合には適当なファイル名(存在しないファイル。後で削除される。)のどちらかを指定する。呼び出しに失敗すると(例えば、ポート番号が既に使用されている)、 falseが返る。

"" 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.

'''セキュリティに関して:'''インターネットドメインソケットに対してアクセスを完全に制限できないため、IPCに対して心配がある場合には、可能ならばUnixドメインソケットを使用したほうが良い。

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

! wxClient::OnMakeConnection
!! wxClient::OnMakeConnection

wxConnectionBase * OnMakeConnection()

wxClient::MakeConnectionから呼ばれ、デフォルトでは、単に新しいwxConnectionオブジェクトを返すだけである。アプリケーション向けにカスタマイズのために継承したwxConnectionを返す場合には、このメソッドをオーバーライドする。

"" Called by wxClient::MakeConnection, by default this simply returns a new wxConnection object. Override this method to return a wxConnection descendant customised for the application.

自身でコネクションクラスを継承することで、サーバ主導のメッセージ受信が可能になる。例えば、wxConnection::OnAdviseである。また、新しいクラスのインスタンスにアプリケーション固有のデータを持たせることも可能である。

"" 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.

! wxClient::ValidHost
!! wxClient::ValidHost

bool ValidHost(const wxString& host)

hostが正当なホスト名であればtrueを返し、そうでなければfalseを返す。MS Windowsでは、常にtrueを返す。

"" Returns true if this is a valid host name, false otherwise. This always returns true under MS Windows.