MrsRoomResult
MRS_ROOM_RESULT_SUCCESS | 操作は成功した |
MRS_ROOM_RESULT_FAILURE | 操作は失敗した |
MRS_ROOM_RESULT_CANNOT_CREATE_ROOM | ルームを作成することができなかった |
MRS_ROOM_RESULT_ROOM_NOT_FOUND | ルームが見つからなかった |
MRS_ROOM_RESULT_PLAYER_ALREADY_JOINED | プレイヤーはすでに入室している |
MRS_ROOM_RESULT_PLAYER_UNJOINED | プレイヤーは入室していない |
MrsRoomEvent
MRS_ROOM_EVENT_NONE | どのイベントでもない |
MRS_ROOM_EVENT_CREATE_ROOM | 部屋が作られた |
MRS_ROOM_EVENT_CREATE_ROOM_ERROR | 部屋を作る時にエラーが起きた |
MRS_ROOM_EVENT_JOIN_ROOM | 入室した |
MRS_ROOM_EVENT_JOIN_ROOM_ERROR | 入室するときにエラーが起きた |
MRS_ROOM_EVENT_JOIN_ROOM_OTHER_PLAYER | 他のプレイヤーが入室した |
MRS_ROOM_EVENT_LEAVE_ROOM | 退出した |
MRS_ROOM_EVENT_LEAVE_ROOM_ERROR | 退出するときにエラーが起きた |
MRS_ROOM_EVENT_LEAVE_ROOM_OTHER_PLAYER | 他のプレイヤーが退室した |
MRS_ROOM_EVENT_SET_OWNER_PLAYER | 部屋の所有者プレイヤーを設定した |
MRS_ROOM_EVENT_SET_OWNER_PLAYER_ERROR | 部屋の所有者プレイヤーを設定するときにエラーが起きた |
MRS_ROOM_EVENT_KICK_ROOM | 強制退室させられた |
MRS_ROOM_EVENT_KICK_ROOM_ERROR | 強制退室するときにエラーが起きた |
MRS_ROOM_EVENT_KICK_ROOM_OTHER_PLAYER | 他のプレイヤーが強制退室させられた |
MRS_ROOM_EVENT_SAFETY_CLOSE_ROOM | セーフティクローズした |
MRS_ROOM_EVENT_SAFETY_CLOSE_ROOM_ERROR | セーフティクローズするときにエラーが起きた |
MRS_ROOM_EVENT_CLOSE_ROOM | セーフティクローズ以外の理由でクローズした |
MRS_ROOM_EVENT_BROADCAST_ERROR | broadcastできなかった |
MRS_ROOM_EVENT_OTHERCAST_ERROR | othercastできなかった |
MRS_ROOM_EVENT_UNICAST_ERROR | unicastできなかった |
MRS_ROOM_EVENT_MULTICAST_ERROR | multicastできなかった |
MRS_ROOM_EVENT_OWNERCAST_ERROR | ownercastできなかった |
MRS_ROOM_EVENT_GET_ROOMS_BEGIN | 部屋情報の開始 |
MRS_ROOM_EVENT_GET_ROOMS | 部屋情報の内容 |
MRS_ROOM_EVENT_GET_ROOMS_END | 部屋情報の終了 |
typedef void ( *MrsRoomClientEventCallback)( MrsConnection connection, void* connection_data, uint16 options, MrsRoomId room_id, MrsRoomPlayerId owner_player_id, const MrsRoomPlayerId* joined_player_ids, MrsRoomPlayerIdsLen joined_player_ids_len, MrsRoomEvent evt, MrsRoomPlayerId player_id, MrsRoomResult result, const void* data, uint32 data_len, const char* err_msg )
ルームに関連したイベントが起きたことを検知するコールバック関数です。
引数connection | Roomサーバへの接続 |
connection_data | アプリケーションが設定した任意のデータへのポインタ |
options | MRSレコードの送信オプション |
room_id | ルームのID |
owner_player_id | 所有者のプレイヤーID |
joined_player_ids | 参加しているプレイヤーIDの配列 |
joined_player_ids_len | 参加しているプレイヤーIDの配列の長さ |
evt | 起きた事象の種類 |
player_id | 事象の契機となったプレイヤーのID |
result | 操作の結果 |
data | 操作をしたときにアプリケーションが付帯データとして送信した任意のデータのアドレス |
data_len | 付帯データの長さ |
err_msg | エラーメッセージ(resultだけでは判別不能なエラーの詳細を知るために使用) |
typedef void ( *MrsRoomClientReadRecordCallback)( MrsConnection connection, void* connection_data, MrsRoomId room_id, MrsRoomPlayerId owner_player_id, const MrsRoomPlayerId* joined_player_ids, MrsRoomPlayerIdsLen joined_player_ids_len, MrsRoomPlayerId write_player_id, uint32 seqnum, uint16 options, uint16 payload_type, const void* payload, uint32 payload_len )
ルームに対して送信されたメッセージを受信したことを検知するコールバック関数です。
引数connection | Roomサーバへの接続 |
connection_data | アプリケーションが設定した任意のデータへのポインタ |
room_id | ルームのID |
owner_player_id | 所有者のプレイヤーID |
joined_player_ids | 参加しているプレイヤーIDの配列 |
joined_player_ids_len | 参加しているプレイヤーIDの配列の長さ |
write_player_id | メッセージを送信した |
seqnum | メッセージが送信された時のレコードの通し番号 |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
payload_type | レコードの種別。アプリケーションが自由に決定する |
payload | 送信するデータの中身の先頭アドレス |
payload_len | 送信するデータの長さ |
bool mrs_room_client_initialize()
MRS ROOM CLIENTのライブラリに必要なメモリを割り当てて初期化を行います
引数 void mrs_room_client_set_event_callback( MrsRoomClientEventCallback callback )
ルームイベント検知用コールバック関数を設定します
引数callback | コールバック関数 |
void mrs_room_client_set_read_record_callback( MrsRoomClientReadRecordCallback callback )
ルームのメッセージ受信コールバック関数を設定します
引数callback | コールバック関数 |
bool mrs_room_client_parse_record( MrsConnection connection, void* connection_data, uint32 seqnum, uint16 options, uint16 payload_type, const void* payload, uint32 payload_len )
ルームサーバへの接続で受信したレコードを解析してイベントとメッセージに分離します
引数connection | Roomサーバへの接続 |
connection_data | アプリケーションが設定した任意のデータへのポインタ |
seqnum | メッセージが送信された時のレコードの通し番号 |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
payload_type | レコードの種別。アプリケーションが自由に決定する |
payload | 送信するデータの中身の先頭アドレス |
payload_len | 送信するデータの長さ |
bool mrs_room_client_create( MrsConnection connection, MrsRoomId room_id, MrsRoomPlayerId player_id, uint16 safety_time_sec, const void* data, uint32 data_len, uint16 options )
ルームを作成するようルームサーバに要求します
引数connection | Roomサーバへの接続 |
room_id | ルームのID |
player_id | ルーム作成時にこのプレイヤーIDでルームの所有者プレイヤーIDを初期化する |
safety_time_sec | 全プレイヤーがルーム退室してもルームが削除されないことを保証する削除保護時間 |
data | アプリケーションがルームに設定する任意のデータの先頭アドレス |
data_len | アプリケーションがルームに設定する任意のデータの長さ |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
double mrs_room_client_get_safety_unix_time( MrsConnection connection, MrsRoomId room_id )
ルームに設定されている削除保護時間(Unix時間)を取得します
引数connection | Roomサーバへの接続 |
room_id | ルームのID |
bool mrs_room_client_join( MrsConnection connection, MrsRoomId room_id, MrsRoomPlayerId player_id, const void* data, uint32 data_len, uint16 options )
すでに存在しているルームに入室します
引数connection | Roomサーバへの接続 |
room_id | ルームのID |
player_id | 入室しようとするプレイヤーのID |
data | アプリケーションがルームに設定する任意のデータの先頭アドレス |
data_len | アプリケーションがルームに設定する任意のデータの長さ |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
bool mrs_room_client_leave( MrsConnection connection, const void* data, uint32 data_len, uint16 options )
すでに入室しているルームから退出します
引数connection | Roomサーバへの接続 |
data | アプリケーションがルームに設定する任意のデータの先頭アドレス |
data_len | アプリケーションがルームに設定する任意のデータの長さ |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
bool mrs_room_client_set_owner( MrsConnection connection, MrsRoomId room_id, MrsRoomPlayerId owner_player_id, const void* data, uint32 data_len, uint16 options )
ルームの所有者プレイヤーIDを変更します
引数connection | Roomサーバへの接続 |
room_id | ルームのID |
owner_player_id | 新たにルームオーナーとなるプレイヤーID |
data | アプリケーションがルームに設定する任意のデータの先頭アドレス |
data_len | アプリケーションがルームに設定する任意のデータの長さ |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
bool mrs_room_client_kick( MrsConnection connection, MrsRoomId room_id, MrsRoomPlayerId player_id, const void* data, uint32 data_len, uint16 options )
ルームから強制退室させます
引数connection | Roomサーバへの接続 |
room_id | ルームのID |
player_id | 強制退室させるプレイヤーのID |
data | アプリケーションがルームに設定する任意のデータの先頭アドレス |
data_len | アプリケーションがルームに設定する任意のデータの長さ |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
bool mrs_room_client_safety_close( MrsConnection connection, MrsRoomId room_id, const void* data, uint32 data_len, uint16 options )
ルームをセーフティクローズ(削除保護時間をリセットし、全プレイヤーが退室したらクローズ)するようにします
引数connection | Roomサーバへの接続 |
room_id | ルームのID |
data | アプリケーションがルームに設定する任意のデータの先頭アドレス |
data_len | アプリケーションがルームに設定する任意のデータの長さ |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
bool mrs_room_client_broadcast( MrsConnection connection, MrsRoomId room_id, MrsRoomPlayerId write_player_id, uint16 options, uint16 payload_type, const void* payload, uint32 payload_len )
自分を含めた全ルーム入室者に対してレコードを送信します
引数connection | Roomサーバへの接続 |
room_id | ルームのID |
write_player_id | レコードを送信するプレイヤーID |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
payload_type | レコードの種別。アプリケーションが自由に決定する |
payload | 送信するデータの中身の先頭アドレス |
payload_len | 送信するデータの長さ |
bool mrs_room_client_othercast( MrsConnection connection, MrsRoomId room_id, MrsRoomPlayerId write_player_id, uint16 options, uint16 payload_type, const void* payload, uint32 payload_len )
自分以外の全ルーム入室者に対してレコードを送信します
引数connection | Roomサーバへの接続 |
room_id | ルームのID |
write_player_id | レコードを送信するプレイヤーID |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
payload_type | レコードの種別。アプリケーションが自由に決定する |
payload | 送信するデータの中身の先頭アドレス |
payload_len | 送信するデータの長さ |
bool mrs_room_client_unicast( MrsConnection connection, MrsRoomId room_id, MrsRoomPlayerId write_player_id, uint16 options, uint16 payload_type, const void* payload, uint32 payload_len, MrsRoomPlayerId player_id )
特定のルームプレイヤーだけに対してレコードを送信します
引数connection | Roomサーバへの接続 |
room_id | ルームのID |
write_player_id | レコードを送信するプレイヤーID |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
payload_type | レコードの種別。アプリケーションが自由に決定する |
payload | 送信するデータの中身の先頭アドレス |
payload_len | 送信するデータの長さ |
player_id | 送信する対象となるプレイヤーID |
bool mrs_room_client_multicast( MrsConnection connection, MrsRoomId room_id, MrsRoomPlayerId write_player_id, uint16 options, uint16 payload_type, const void* payload, uint32 payload_len, const MrsRoomPlayerId* player_ids, MrsRoomPlayerIdsLen player_ids_len )
ルームに入室している複数のプレイヤーに対してレコードを送信します
引数connection | Roomサーバへの接続 |
room_id | ルームのID |
write_player_id | レコードを送信するプレイヤーID |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
payload_type | レコードの種別。アプリケーションが自由に決定する |
payload | 送信するデータの中身の先頭アドレス |
payload_len | 送信するデータの長さ |
player_ids | 送信対象となるプレイヤーIDの配列 |
player_ids_len | 送信対象となるプレイヤーIDの配列の要素数 |
bool mrs_room_client_othercast( MrsConnection connection, MrsRoomId room_id, MrsRoomPlayerId write_player_id, uint16 options, uint16 payload_type, const void* payload, uint32 payload_len )
ルームの所有者プレイヤーだけに対してレコードを送信します
引数connection | Roomサーバへの接続 |
room_id | ルームのID |
write_player_id | レコードを送信するプレイヤーID |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
payload_type | レコードの種別。アプリケーションが自由に決定する |
payload | 送信するデータの中身の先頭アドレス |
payload_len | 送信するデータの長さ |
bool mrs_room_client_get_rooms( MrsConnection connection, uint16 options )
全てのルームの情報を要求します
引数connection | Roomサーバへの接続 |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
typedef void ( *MrsRoomServerEventCallback)( MrsConnection connection, void* connection_data, uint16 options, void* room_data, MrsRoomId room_id, MrsRoomPlayerId owner_player_id, const MrsRoomPlayerId* joined_player_ids, MrsRoomPlayerIdsLen joined_player_ids_len, MrsRoomEvent evt, MrsRoomPlayerId player_id, MrsRoomResult result, const void* data, uint32 data_len, const char* err_msg )
ルームに関連したイベントが起きたことを検知するコールバック関数です。
引数connection | Roomクライアントとの接続 |
connection_data | アプリケーションが設定した任意のデータへのポインタ |
options | MRSレコードの送信オプション |
room_data | ルームサーバが内部的に使用するデータポインタ |
room_id | ルームのID |
owner_player_id | 所有者のプレイヤーID |
joined_player_ids | 参加しているプレイヤーIDの配列 |
joined_player_ids_len | 参加しているプレイヤーIDの配列の長さ |
evt | 起きた事象の種類 |
player_id | 事象の契機となったプレイヤーのID |
result | 操作の結果 |
data | 操作をしたときにアプリケーションが付帯データとして送信した任意のデータのアドレス |
data_len | 付帯データの長さ |
err_msg | エラーメッセージ(resultだけでは判別不能なエラーの詳細を知るために使用) |
bool mrs_room_server_initialize()
MRS ROOM SERVERのライブラリに必要なメモリを割り当てて初期化を行います
引数 void mrs_room_server_set_event_callback( MrsRoomServerEventCallback callback )
Roomサーバーにおいて発生したイベントを検知するコールバック関数を設定します
引数callback | コールバック関数 |
bool mrs_room_server_parse_record( MrsConnection connection, void* connection_data, uint32 seqnum, uint16 options, uint16 payload_type, const void* payload, uint32 payload_len )
Roomサーバが受信したMRSレコードの内容(ペイロード)を解析して必要なイベントを取り出し、コールバック関数を呼びます
引数connection | Roomクライアントとの接続 |
connection_data | クライアントとの接続にひも付けられている任意のアプリケーションデータのポインタ。 |
seqnum | MRSレコードの通し番号 |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
payload_type | レコードの種別。アプリケーションが自由に決定する |
payload | 送信するデータの中身の先頭アドレス |
payload_len | 送信するデータの長さ |
void mrs_room_server_create( MrsConnection connection, void* connection_data, uint16 options, MrsRoomId room_id, MrsRoomPlayerId player_id, uint16 safety_time_sec, const void* data, uint32 data_len )
ルームを作成します。
引数connection | Roomクライアントとの接続 |
connection_data | クライアントとの接続にひも付けられている任意のアプリケーションデータのポインタ。 |
seqnum | MRSレコードの通し番号 |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
room_id | 作成するルームのID番号 |
player_id | ルームを作成しようとしているプレイヤーのID番号 |
safety_time_sec | 全プレイヤーがルーム退室してもルームが削除されないことを保証する安全時間 |
data | ルームの作成時にアプリケーションが設定する任意のデータの先頭アドレス |
data_len | ルームの作成時にアプリケーションが設定する任意のデータの長さ |
void mrs_room_server_create_write_record( MrsConnection connection, uint16 options, MrsRoomResult result, MrsRoomId room_id, MrsRoomPlayerId player_id, const void* data, uint32 data_len )
ルームの作成を試みた結果を通知するレコードを送信します
引数connection | Roomクライアントとの接続 |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
result | 操作の結果 |
room_id | 作成しようとしたルームのID番号 |
player_id | 作成しようとしたプレイヤーのID |
data | ルームの作成時にアプリケーションが設定する任意のデータの先頭アドレス |
data_len | ルームの作成時にアプリケーションが設定する任意のデータの長さ |
void mrs_room_server_join( MrsConnection connection, void* connection_data, uint16 options, MrsRoomId room_id, MrsRoomPlayerId player_id, const void* data, uint32 data_len )
ルームへの入室をします
引数connection | Roomクライアントとの接続 |
connection_data | クライアントとの接続にひも付けられている任意のアプリケーションデータのポインタ。 |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
room_id | 入室しようとしているルームのID |
player_id | 入室しようとしているプレイヤーのID |
data | ルームの作成時にアプリケーションが設定する任意のデータの先頭アドレス |
data_len | ルームの作成時にアプリケーションが設定する任意のデータの長さ |
void mrs_room_server_join_write_record( MrsConnection connection, uint16 options, MrsRoomResult result, MrsRoomId room_id, MrsRoomPlayerId player_id, const void* data, uint32 data_len )
ルームへの入室を試みた結果を通知するレコードを送信します
引数connection | Roomクライアントとの接続 |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
result | 操作の結果 |
room_id | 入室しようとしたルームのID |
player_id | 入室しようとしたプレイヤーのID |
data | ルームの作成時にアプリケーションが設定する任意のデータの先頭アドレス |
data_len | ルームの作成時にアプリケーションが設定する任意のデータの長さ |
void mrs_room_server_leave( MrsConnection connection, void* connection_data, uint16 options, const void* data, uint32 data_len )
ルームから退出します
引数connection | Roomクライアントとの接続 |
connection_data | クライアントとの接続にひも付けられている任意のアプリケーションデータのポインタ。 |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
data | ルームの作成時にアプリケーションが設定する任意のデータの先頭アドレス |
data_len | ルームの作成時にアプリケーションが設定する任意のデータの長さ |
void mrs_room_server_leave_write_record( MrsConnection connection, uint16 options, MrsRoomResult result, MrsRoomId room_id, MrsRoomPlayerId player_id, const void* data, uint32 data_len )
ルームからの退出を試みた結果を通知するレコードを送信します
引数connection | Roomクライアントとの接続 |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
result | 操作の結果 |
room_id | 退出しようとしたルームのID |
player_id | 退出しようとしたプレイヤーのID |
data | ルームの作成時にアプリケーションが設定する任意のデータの先頭アドレス |
data_len | ルームの作成時にアプリケーションが設定する任意のデータの長さ |
void mrs_room_server_set_owner( MrsConnection connection, void* connection_data, uint16 options, MrsRoomId room_id, MrsRoomPlayerId owner_player_id, const void* data, uint32 data_len )
ルームを所有するプレイヤーを変更します
引数connection | Roomクライアントとの接続 |
connection_data | クライアントとの接続にひも付けられている任意のアプリケーションデータのポインタ。 |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
room_id | 所有者を変更しようとするルームのID |
owner_player_id | このプレイヤーIDを新しい所有者に設定します |
data | ルームの作成時にアプリケーションが設定する任意のデータの先頭アドレス |
data_len | ルームの作成時にアプリケーションが設定する任意のデータの長さ |
void mrs_room_server_set_owner_write_record( MrsConnection connection, uint16 options, MrsRoomResult result, MrsRoomId room_id, MrsRoomPlayerId owner_player_id, const void* data, uint32 data_len )
ルームの所有者を変更しようとした結果を通知するレコードを送信します
引数connection | Roomクライアントとの接続 |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
result | 操作の結果 |
room_id | 所有者を変更しようとしたルームのID |
owner_player_id | 新しく所有者として設定しようとしたプレイヤーのID |
data | ルームの作成時にアプリケーションが設定する任意のデータの先頭アドレス |
data_len | ルームの作成時にアプリケーションが設定する任意のデータの長さ |
void mrs_room_server_kick( MrsConnection connection, void* connection_data, uint16 options, MrsRoomId room_id, MrsRoomPlayerId player_id, const void* data, uint32 data_len )
ルームから強制退室させます
引数connection | Roomクライアントとの接続 |
connection_data | クライアントとの接続にひも付けられている任意のアプリケーションデータのポインタ。 |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
room_id | 強制退室させるルームのID |
player_id | 強制退室させるプレイヤーのID |
data | ルームの作成時にアプリケーションが設定する任意のデータの先頭アドレス |
data_len | ルームの作成時にアプリケーションが設定する任意のデータの長さ |
void mrs_room_server_kick_write_record( MrsConnection connection, uint16 options, MrsRoomResult result, MrsRoomId room_id, MrsRoomPlayerId player_id, const void* data, uint32 data_len )
ルームからの強制退室を試みた結果を通知するレコードを送信します
引数connection | Roomクライアントとの接続 |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
result | 操作の結果 |
room_id | 強制退室させるルームのID |
player_id | 強制退室させるプレイヤーのID |
data | ルームの作成時にアプリケーションが設定する任意のデータの先頭アドレス |
data_len | ルームの作成時にアプリケーションが設定する任意のデータの長さ |
void mrs_room_server_safety_close( MrsConnection connection, void* connection_data, uint16 options, MrsRoomId room_id, const void* data, uint32 data_len )
ルームをセーフティクローズ(削除保護時間をリセットし、全プレイヤーが退室したらクローズ)するようにします
引数connection | Roomクライアントとの接続 |
connection_data | クライアントとの接続にひも付けられている任意のアプリケーションデータのポインタ。 |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
room_id | セーフティクローズするルームのID |
data | ルームの作成時にアプリケーションが設定する任意のデータの先頭アドレス |
data_len | ルームの作成時にアプリケーションが設定する任意のデータの長さ |
void mrs_room_server_safety_close_write_record( MrsConnection connection, uint16 options, MrsRoomResult result, MrsRoomId room_id, const void* data, uint32 data_len )
ルームのセーフティクローズを試みた結果を通知するレコードを送信します
引数connection | Roomクライアントとの接続 |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
result | 操作の結果 |
room_id | セーフティクローズするルームのID |
data | ルームの作成時にアプリケーションが設定する任意のデータの先頭アドレス |
data_len | ルームの作成時にアプリケーションが設定する任意のデータの長さ |
bool mrs_room_server_set_data( MrsRoomId room_id, void* data )
ルームに任意のデータポインタを設定します
引数room_id | データを設定したいルームのID |
data | データへのポインタ |
void mrs_room_server_broadcast( MrsConnection connection, MrsRoomId room_id, MrsRoomPlayerId write_player_id, uint16 options, uint16 payload_type, const void* payload, uint32 payload_len )
ルームに参加している全てのプレイヤーにMRSレコードを送信します
引数connection | レコードを送信する元となる接続 |
room_id | レコードを送信したいルーム |
write_player_id | 送信しようとしているプレイヤーのID |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
payload_type | レコードの種別。アプリケーションが自由に決定する |
payload | 送信するデータの中身の先頭アドレス |
payload_len | 送信するデータの長さ |
void mrs_room_server_othercast( MrsConnection connection, MrsRoomId room_id, MrsRoomPlayerId write_player_id, uint16 options, uint16 payload_type, const void* payload, uint32 payload_len )
ルームに参加している自分以外の全てのプレイヤーにMRSのレコードを送信します
引数connection | レコードを送信する元となる接続 |
room_id | レコードを送信したいルーム |
write_player_id | 送信しようとしているプレイヤーのID |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
payload_type | レコードの種別。アプリケーションが自由に決定する |
payload | 送信するデータの中身の先頭アドレス |
payload_len | 送信するデータの長さ |
void mrs_room_server_unicast( MrsConnection connection, MrsRoomId room_id, MrsRoomPlayerId write_player_id, uint16 options, uint16 payload_type, const void* payload, uint32 payload_len, MrsRoomPlayerId player_id )
ルームに参加している特定のプレイヤーだけにMRSのレコードを送信します
引数connection | レコードを送信する元となる接続 |
room_id | レコードを送信したいルーム |
write_player_id | 送信しようとしているプレイヤーのID |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
payload_type | レコードの種別。アプリケーションが自由に決定する |
payload | 送信するデータの中身の先頭アドレス |
payload_len | 送信するデータの長さ |
player_id | レコードの送信先となるプレイヤーのID |
void mrs_room_server_multicast( MrsConnection connection, MrsRoomId room_id, MrsRoomPlayerId write_player_id, uint16 options, uint16 payload_type, const void* payload, uint32 payload_len, const MrsRoomPlayerId* player_ids, MrsRoomPlayerIdsLen player_ids_len )
ルームに参加している複数のプレイヤーに対してMRSのレコードを送信します
引数connection | レコードを送信する元となる接続 |
room_id | レコードを送信したいルーム |
write_player_id | 送信しようとしているプレイヤーのID |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
payload_type | レコードの種別。アプリケーションが自由に決定する |
payload | 送信するデータの中身の先頭アドレス |
payload_len | 送信するデータの長さ |
player_ids | レコードの送信先となるプレイヤーのIDの配列 |
player_ids_len | レコードの送信先となるプレイヤーのIDの配列の要素数 |
void mrs_room_server_ownercast( MrsConnection connection, MrsRoomId room_id, MrsRoomPlayerId write_player_id, uint16 options, uint16 payload_type, const void* payload, uint32 payload_len )
ルームの所有者となっているプレイヤーに対してのみMRSのレコードを送信します
引数connection | レコードを送信する元となる接続 |
room_id | レコードを送信したいルーム |
write_player_id | 送信しようとしているプレイヤーのID |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
payload_type | レコードの種別。アプリケーションが自由に決定する |
payload | 送信するデータの中身の先頭アドレス |
payload_len | 送信するデータの長さ |
void mrs_room_server_get_rooms( MrsConnection connection, uint16 options )
ルームサーバーが管理しているすべてのルームと参加者の情報を取得します
引数connection | 結果を送信する対象となる接続 |
options | レコードの送信オプション(MRSのレコード送信オプションと同じ値) |
void mrs_set_room_update_msec( uint32 update_msec )
ルーム情報更新時間の設定
引数update_msec | ルーム情報を更新するミリ秒数 |