|
<< Нажмите, чтобы показать Содержание >> TRVCamSender.JoinGroup, LeaveGroup, GetUsersFromGroup, GetGroupInfo, GetAllGroups |
Методы работы с группами пользователей на сервере.
procedure JoinGroup(AGUIDGroup: TGUID; Permanent: Boolean = False;
AGroupName: TRVMAnsiString = ''; AGroupPassword: TRVMAnsiString = '';
OnlyExistingGroup: Boolean = False);
procedure LeaveGroup(GUIDGroup: TGUID);
procedure GetUsersFromGroup(GUIDGroup: TGUID; Online: Boolean);
procedure GetAllGroups;
procedure GetGroupInfo(AGUIDGroup: TGUID);
Эти методы работают только в том случае, если отправитель подключен к TRVMediaServer по сети в качестве составной части клиента.
Сервер может иметь несколько групп клиентов (пользователей). Пользователи, принадлежащие к группе, могут обмениваться данными друг с другом. Группа идентифицируется уникальным идентификатором (GUIDGroup). Группы могут использоваться для реализации комнат чатов.

JoinGroup добавляет этого отправителя в группу (идентифицируемую по GUIDGroup) на сервере. Если параметр OnlyExistingGroup = True, пользователь присоединяется к группе только в том случае, если она уже существует на сервере, в противном случае создаётся новая группа (если количество групп на сервере не превышает TRVMediaServer.MaxGroupCount).
Когда новый пользователь присоединяется к существующей группе, все члены этой группы получают уведомления об этом новом пользователе (событие OnUserLeavesGroup у получателей).
Пользователь может указать имя группы и пароль. Если этот метод создаёт новую группу, все остальные пользователи должны указать тот же пароль для присоединения к этой группе.
Если параметр Permanent = False, пользователь становится членом группы до тех пор, пока не вызовет LeaveGroup или пока не будет разорвано соединение с этим клиентом. Все остальные пользователи получают уведомление, когда пользователь покидает эту группу (события OnUserLeavesGroup у получателя).
Если параметр Permanent = True, пользователя нельзя удалить из группы. Когда пользователь вызывает LeaveGroup или когда он/она отключается от сервера, он/она становится «оффлайн», но остаётся членом группы. Такого пользователя можно удалить из группы только после повторного присоединения к ней с параметром Permanent = False. Эта функция позволяет использовать группы в качестве списков контактов.
LeaveGroup удаляет этого отправителя из группы. Все члены этой группы получают уведомления о выходе этого пользователя из группы (событие OnUserLeavesGroup у получателей). Если это был последний пользователь группы, группа удаляется на сервере. Если соединение между этим клиентом и сервером разрывается, сервер сам уведомляет членов группы о выходе этого пользователя.
GetUsersFromGroup получает список пользователей, принадлежащих к группе. Если параметр Online=True, метод возвращает только пользователей группы, которые в данный момент подключены. Список пользователей возвращается в событии OnGetGroupUsers получателя.
GetAllGroups возвращает список групп на сервере. Эта команда поддерживается только в том случае, если rvcpUseSystemCmd и rvcpCmdAllGroups включены в TRVMediaServer.CmdOptions. Список групп возвращается в событии OnGetAllGroups получателя.
GetGroupInfo возвращает информацию о конкретной группе (её имя и создателя). Эта информация возвращается в событии OnGetGroupInfo получателя.
См. также:
•свойство GUIDGroup
•информация о группах в разделе о TRVMediaServer