Photon Unity Networking 2  v2.1
English | 日本語 | 한국
Public Member Functions | Protected Member Functions | List of all members
LoadBalancingPeer Class Reference

LoadBalancingPeerは、Photon Cloudでも使用されるLoadBalancingサーバーアプリケーションを使用するために必要な操作と列挙型定義を提供します。 More...

Inherits PhotonPeer.

Public Member Functions

 LoadBalancingPeer (ConnectionProtocol protocolType)
 指定された接続プロトコルでピアを作成します。 ピアを使用する前にリスナーを設定する必要があります。 More...
 
 LoadBalancingPeer (IPhotonPeerListener listener, ConnectionProtocol protocolType)
 指定された接続プロトコルとコールバックのリスナーを使用してピアを作成します。 More...
 
virtual bool OpGetRegions (string appId)
 
virtual bool OpJoinLobby (TypedLobby lobby=null)
 Master Serverのロビーに参加し、現在開いているルームのRoomInfoのリストを取得します。 これは、OnOperationResponse()呼び出しをトリガーする非同期要求です。 More...
 
virtual bool OpLeaveLobby ()
 マスターサーバーのロビーを離れます。 これは、OnOperationResponse()呼び出しをトリガーする非同期要求です。 More...
 
virtual bool OpCreateRoom (EnterRoomParams opParams)
 ルームを作成します(マスターサーバーまたはゲームサーバーのいずれか)。 OperationResponseは、ピアが接続されているサーバーによって異なります。 マスターは、接続するゲームサーバーを返します。 ゲームサーバーは、参加したルームのデータを返します。 これは、OnOperationResponse()呼び出しをトリガーする非同期要求です。 More...
 
virtual bool OpJoinRoom (EnterRoomParams opParams)
 指定された名前のルームが存在しない場合、名前でルームに参加するか、新しいルームを作成します。 OperationResponseは、ピアが接続されているサーバーによって異なります。 マスターは、接続するゲームサーバーを返します。 ゲームサーバーは、参加したルームのデータを返します。 これは、OnOperationResponse()呼び出しをトリガーする非同期要求です。 More...
 
virtual bool OpJoinRandomRoom (OpJoinRandomRoomParams opJoinRandomRoomParams)
 ランダムで利用可能なルームに参加する操作。オーバーロードは、追加のプレーヤープロパティを取得します。 これは、OnOperationResponse()呼び出しをトリガーする非同期要求です。 すべてのルームが閉じているか満室の場合、OperationResponseのreturnCodeはErrorCode.NoRandomMatchFoundになります。 成功した場合、OperationResponseにはゲームサーバーのアドレスとルーム名が含まれます。 More...
 
virtual bool OpJoinRandomOrCreateRoom (OpJoinRandomRoomParams opJoinRandomRoomParams, EnterRoomParams createRoomParams)
 マスターサーバーでのみ使用されます。参加または作成するゲームサーバーとルームを割り当てます。 ゲームサーバーでは、OpJoinが「存在しない場合に作成」オプションとともに使用されます。 More...
 
virtual bool OpLeaveRoom (bool becomeInactive, bool sendAuthCookie=false)
 後で戻るか、完全に退室するオプションを使用してルームを離れます。 More...
 
virtual bool OpGetGameList (TypedLobby lobby, string queryData)
 SQLのようなwhere clauseに一致するゲームのリストを取得します。 More...
 
virtual bool OpFindFriends (string[] friendsToFind, FindFriendsOptions options=null)
 友達のリストのルームとオンラインステータスを要求します(各クライアントはOpAuthenticateを使用して一意のユーザー名を設定する必要があります)。 More...
 
bool OpSetCustomPropertiesOfActor (int actorNr, Hashtable actorProperties)
 
bool OpSetCustomPropertiesOfRoom (Hashtable gameProperties)
 
virtual bool OpAuthenticate (string appId, string appVersion, AuthenticationValues authValues, string regionCode, bool getLobbyStatistics)
 このアプリケーションのappIdとappVersionを送信して、このアプリケーションサーバー側を識別します。 これは、OnOperationResponse()呼び出しをトリガーする非同期要求です。 More...
 
virtual bool OpAuthenticateOnce (string appId, string appVersion, AuthenticationValues authValues, string regionCode, EncryptionMode encryptionMode, ConnectionProtocol expectedProtocol)
 このアプリケーションのappIdとappVersionを送信して、このアプリケーションサーバー側を識別します。 これは、OnOperationResponse()呼び出しをトリガーする非同期要求です。 More...
 
virtual bool OpChangeGroups (byte[] groupsToRemove, byte[] groupsToAdd)
 このクライアントのインタレストグループを処理する操作(ルームのイベント用)。 More...
 
virtual bool OpRaiseEvent (byte eventCode, object customEventContent, RaiseEventOptions raiseEventOptions, SendOptions sendOptions)
 同じルームの他のプレイヤーに、カスタムコード/タイプとコンテンツを含むイベントを送信します。 More...
 
virtual bool OpSettings (bool receiveLobbyStats)
 「サーバーごと」の設定を設定するために内部的に使用される操作。これはマスターサーバー用です。 More...
 

Protected Member Functions

bool OpSetPropertyOfRoom (byte propCode, object value)
 

Detailed Description

LoadBalancingPeerは、Photon Cloudでも使用されるLoadBalancingサーバーアプリケーションを使用するために必要な操作と列挙型定義を提供します。

このクラスは内部的に使用されます。 LoadBalancingPeerは状態を保持しませんが、代わりにこれはLoadBalancingClientによって行われます。

Constructor & Destructor Documentation

LoadBalancingPeer ( ConnectionProtocol  protocolType)

指定された接続プロトコルでピアを作成します。 ピアを使用する前にリスナーを設定する必要があります。

各接続プロトコルには、Photon用の独自のデフォルトネットワークポートがあります。

Parameters
protocolType推奨されるオプションはUDPです。
LoadBalancingPeer ( IPhotonPeerListener  listener,
ConnectionProtocol  protocolType 
)

指定された接続プロトコルとコールバックのリスナーを使用してピアを作成します。

Member Function Documentation

virtual bool OpAuthenticate ( string  appId,
string  appVersion,
AuthenticationValues  authValues,
string  regionCode,
bool  getLobbyStatistics 
)
virtual

このアプリケーションのappIdとappVersionを送信して、このアプリケーションサーバー側を識別します。 これは、OnOperationResponse()呼び出しをトリガーする非同期要求です。

以前に確立されている場合、この操作は暗号化を使用します。 参照: EstablishEncryption()。IsEncryptionAvailableで暗号化を確認します。 この操作は、接続ごとに1回のみ許可されます(複数の呼び出しにはErrorCode != Okが付きます)。

Parameters
appId認証するアプリケーションの名前またはID。 これはPhoton Cloud(ウェブページ)によって割り当てられます。
appVersionクライアントのバージョン(異なるクライアントappVersionsを持つクライアントは分離され、プレイヤー同士は会わない)。
authValues認証に関連するすべての値が含まれます。アカウントシステム(外部カスタム認証)がなくても、クライアントは自身を識別することができます。
regionCodeクライアントが特定のPhoton Cloud Regionに接続する必要がある場合のオプションのリージョンコード。
getLobbyStatisticsマスターサーバーでtrueに設定して、「ロビー統計」イベントを受信します。
Returns
操作を送信できる場合(接続する必要があります)。
virtual bool OpAuthenticateOnce ( string  appId,
string  appVersion,
AuthenticationValues  authValues,
string  regionCode,
EncryptionMode  encryptionMode,
ConnectionProtocol  expectedProtocol 
)
virtual

このアプリケーションのappIdとappVersionを送信して、このアプリケーションサーバー側を識別します。 これは、OnOperationResponse()呼び出しをトリガーする非同期要求です。

以前に確立されている場合、この操作は暗号化を使用します。 参照: EstablishEncryption().IsEncryptionAvailableで暗号化を確認します。 この操作は、接続ごとに1回のみ許可されます(複数の呼び出しにはErrorCode != Okが付きます)。

Parameters
appId認証するアプリケーションの名前またはID。これはPhoton Cloud(ウェブページ)によって割り当てられます。
appVersionクライアントのバージョン(異なるクライアントappVersionsを持つクライアントは分離され、プレイヤー同士は会わない)。
authValues任意の認証値。クライアントは、サーバーによるカスタム認証の値またはUserIdまたは一部のパラメーターを設定できません。
regionCodeクライアントが特定のPhoton Cloud Regionに接続する必要がある場合の任意のリージョンコード。
encryptionMode
expectedProtocol
Returns
操作を送信できる場合(接続する必要があります)。
virtual bool OpChangeGroups ( byte[]  groupsToRemove,
byte[]  groupsToAdd 
)
virtual

このクライアントのインタレストグループを処理する操作(ルームのイベント用)。

nullとbyte [0]を渡すことの違いに注意してください。 nullはグループを追加/削除しません。 byte [0]は、すべての(既存の)グループを追加/削除します。 最初に、グループの削除が実行されます。この方法では、すべてのグループを離れ、提供されたグループのみに参加できます。

変更はすぐにアクティブになるのではなく、サーバーがこの操作を実行するとアクティブになります(約RTT/2)。

Parameters
groupsToRemoveインタレストから削除するグループ。 Nullは削除しません。byte [0]はすべてを削除します。
groupsToAddインタレストに追加するグループ。 Nullは追加しません。 byte [0]は現在のすべてを追加します。
Returns
送信のために操作をキューに登録できる場合。呼び出し時に送信されます:ServiceまたはSendOutgoingCommands。
virtual bool OpCreateRoom ( EnterRoomParams  opParams)
virtual

ルームを作成します(マスターサーバーまたはゲームサーバーのいずれか)。 OperationResponseは、ピアが接続されているサーバーによって異なります。 マスターは、接続するゲームサーバーを返します。 ゲームサーバーは、参加したルームのデータを返します。 これは、OnOperationResponse()呼び出しをトリガーする非同期要求です。

ルームが既に存在する場合、OperationResponseのreturnCodeはErrorCode.GameAlreadyExistsになります。

virtual bool OpFindFriends ( string[]  friendsToFind,
FindFriendsOptions  options = null 
)
virtual

友達のリストのルームとオンラインステータスを要求します(各クライアントはOpAuthenticateを使用して一意のユーザー名を設定する必要があります)。

Master Serverで使用され、選択されたユーザーのリストがプレイしているルームを見つけます。 ユーザーは、一意のユーザーIDでOpAuthenticateを使用して自分自身を識別します。 ユーザーIDのリストは、他のソース(Photonによって提供されない)から取得する必要があります。

サーバーの応答には、情報の2つの配列が含まれます(各インデックスは、リクエストの友人に一致します)。
オンライン状態のParameterCode.FindFriendsResponseOnlineList = bool[]
ルーム名(ルームにない場合は空の文字列)のParameterCode.FindFriendsResponseRoomIdList = string[]

これらのオプションを使用して、ルームに戻るために一致させる必要がある状態を定義できます。

Parameters
friendsToFind友達の名前の配列(一意であることを確認してください)。
optionsFindFriends操作の結果に影響するオプション。
Returns
操作を送信できる場合(接続が必要)。
virtual bool OpGetGameList ( TypedLobby  lobby,
string  queryData 
)
virtual

SQLのようなwhere clauseに一致するゲームのリストを取得します。

操作は、タイプSqlLobbyのロビーでのみ使用できます。 これは、OnOperationResponse()呼び出しをトリガーする非同期要求です。 返されたゲームリストはRoomInfoListに保存されます。

https://doc.photonengine.com/en-us/realtime/current/reference/matchmaking-and-lobby::sql_lobby_type

Parameters
lobby照会するロビー。SqlLobby型である必要があります。
queryDataSQLクエリステートメント。
Returns
操作を送信できる場合(接続する必要があります)。
virtual bool OpJoinLobby ( TypedLobby  lobby = null)
virtual

Master Serverのロビーに参加し、現在開いているルームのRoomInfoのリストを取得します。 これは、OnOperationResponse()呼び出しをトリガーする非同期要求です。

Parameters
lobby参加するロビー
Returns
操作を送信できる場合(接続する必要があります)。
virtual bool OpJoinRandomOrCreateRoom ( OpJoinRandomRoomParams  opJoinRandomRoomParams,
EnterRoomParams  createRoomParams 
)
virtual

マスターサーバーでのみ使用されます。参加または作成するゲームサーバーとルームを割り当てます。 ゲームサーバーでは、OpJoinが「存在しない場合に作成」オプションとともに使用されます。

virtual bool OpJoinRandomRoom ( OpJoinRandomRoomParams  opJoinRandomRoomParams)
virtual

ランダムで利用可能なルームに参加する操作。オーバーロードは、追加のプレーヤープロパティを取得します。 これは、OnOperationResponse()呼び出しをトリガーする非同期要求です。 すべてのルームが閉じているか満室の場合、OperationResponseのreturnCodeはErrorCode.NoRandomMatchFoundになります。 成功した場合、OperationResponseにはゲームサーバーのアドレスとルーム名が含まれます。

Returns
操作を現在送信できる場合(接続が必要)。
virtual bool OpJoinRoom ( EnterRoomParams  opParams)
virtual

指定された名前のルームが存在しない場合、名前でルームに参加するか、新しいルームを作成します。 OperationResponseは、ピアが接続されているサーバーによって異なります。 マスターは、接続するゲームサーバーを返します。 ゲームサーバーは、参加したルームのデータを返します。 これは、OnOperationResponse()呼び出しをトリガーする非同期要求です。

ルームが(もう)存在しない場合、OperationResponseのreturnCodeはErrorCode.GameDoesNotExistになります。 その他のエラーコードは、GameClosed、GameFullです。

Returns
操作を送信できる場合(接続が必要)。
virtual bool OpLeaveLobby ( )
virtual

マスターサーバーのロビーを離れます。 これは、OnOperationResponse()呼び出しをトリガーする非同期要求です。

Returns
操作を送信できる場合(接続する必要があります)。
virtual bool OpLeaveRoom ( bool  becomeInactive,
bool  sendAuthCookie = false 
)
virtual

後で戻るか、完全に退室するオプションを使用してルームを離れます。

Parameters
becomeInactive非同期ゲームは後で再参加(読み込み)できます。ゲームを完全に放棄する場合は、falseに設定します。
sendAuthCookieWebFlag: 暗号化されたオブジェクトAuthCookieを、利用可能な場合はPathLeave webhookのWebサービスに安全に送信します
Returns
操作を現在送信できる場合。
virtual bool OpRaiseEvent ( byte  eventCode,
object  customEventContent,
RaiseEventOptions  raiseEventOptions,
SendOptions  sendOptions 
)
virtual

同じルームの他のプレイヤーに、カスタムコード/タイプとコンテンツを含むイベントを送信します。

このオーバーライドは、別のパラメーターの順序を明示的に使用して、Hashtableのみの実装と混同しないようにします。

Parameters
eventCodeこのタイプのイベント(およびコンテンツ)を識別します。ゲームのイベントコードは0から開始できます。
customEventContentシリアル化可能なデータ型(他のOpRaiseEventオーバーロードのようなHashtableを含む)。
raiseEventOptionsあまり使用されないオプションが(わずかに)含まれています。nullを渡すと、デフォルトのオプションが使用されます。
sendOptions信頼性の高い暗号化などの送信オプション
Returns
送信のために操作をキューに登録できる場合。次の呼び出し時に送信されます:ServiceまたはSendOutgoingCommands
virtual bool OpSettings ( bool  receiveLobbyStats)
virtual

「サーバーごと」の設定を設定するために内部的に使用される操作。これはマスターサーバー用です。

Parameters
receiveLobbyStatstrueに設定すると、ロビー統計(既存のロビーのリスト)が取得されます。
Returns
操作を送信できなかった場合はfalse。