DWC_ConnectToGameServerAsync

構文

#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より前の変更履歴はこちら