#include <dwc.h>
BOOL DWC_ConnectToGameServerAsync(DWCTopologyType topology,
int serverIndex,
DWCMatchedSCCallback matchedCallback,
void *matchedParam,
DWCNewClientCallback newClientCallback,
void *newClientParam,
DWCConnectAttemptCallback attemptCallback,
u8 *connectionUserData,
void *attemptParam);| topology | 接続形態。DWCTopologyTypeの中から一つ指定します。 |
| serverIndex | 接続先サーバホストの友達リストインデックス |
| matchedCallback | 接続完了コールバック関数へのポインタ。1人接続するごとに呼ばれる。 |
| matchedParam | 接続完了コールバック用パラメータ。 |
| newClientCallback | 新規接続クライアント通知コールバック関数へのポインタ。 |
| newClientParam | 新規接続クライアント通知コールバック用パラメータ。 |
| attemptCallback | 互換性のために残されています。NULLを指定してください。 |
| connectionUserData | 自分の接続受付判定用パラメータバッファへのポインタ。u8[DWC_CONNECTION_USERDATA_LEN]分のバッファである必要があります。 |
| attemptParam | 互換性のために残されています。NULLを指定してください。 |
| TRUE | 処理開始。コールバック関数で結果が通知される。 |
| FALSE | 本関数を呼んで良い状態ではない |
友達リストのインデックスで接続するサーバホストを指定し、そこへ接続します。サーバホストとは、このサーバクライアントマッチメイクにおけるDWC_SetupGameServer関数を呼び出し、クライアントホストの接続を待っているホストのことを指します。本関数呼出し後、DWC_ProcessFriendsMatch関数を呼び続ければマッチメイク処理が進行し、マッチメイクが成功、エラー、キャンセルのいずれかの状態で完了すれば、マッチメイク完了コールバックが呼び出されます。
サーバホストへの接続後は、サーバホストへ新たに接続に来たクライアントホストがあれば、新規接続クライアント通知コールバックが呼び出されます。また、その新規接続クライアントの接続処理が完了すれば、再びマッチメイク完了コールバックが呼び出されます。
ネットワーク接続状況により、関数からしばらく処理が戻らずブロックすることがあります。
DWCMatchedSCCallbackが呼び出されないことがあるため、アプリケーション側で適切なタイムアウトを設けてください。タイムアウト時間は、正常に接続できるケースの2〜3倍を目安にして下さい。
接続形態がフルメッシュ型もしくはハイブリッド型のときは、サーバホストが切断したときにサーバ交代が発生します。スター型では発生しません。ハイブリッド型の場合、新しいサーバホストに接続できるのは新しいサーバホストと直接接続されていたホストのみで、それ以外のホストは切断されます。一度でもサーバ交代が起こった後は、そのグループに新規クライアントホストは参加できなくなります。
5.1pr2より前の変更履歴はこちら