rvmediaserver TRVMediaServer

Свойства   Методы   События

<< Нажмите, чтобы показать Содержание >>

rvmediaserver TRVMediaServer

Свойства   Методы   События

TRVMediaServer передаёт данные (видео, аудио, файлы, команды и др.) по сети от нескольких компонентов TRVCamSender нескольким компонентам TRVCamReceiver.

Модуль [VCL и LCL] MRVMediaServer;

Модуль [FMX] fmxMRVMediaServer;

Синтаксис

TRVMediaServer = class(TComponent)

hmtoggle_arrow1Иерархия

Описание

Для запуска сервера задайте его HTTPPort и UDPPort и присвойте HTTPActive и UDPActive = True.

К серверу по сети может быть подключено несколько клиентов. Каждый клиент может состоять из одного или нескольких TRVCamSender и одного TRVCamReceiver, имеющих одинаковые идентификаторы (TRVCamSender.GUIDFrom, TRVCamReceiver.GUIDMy; TRVCamSender.UseGUID должно быть True). Если подключён второй клиент с тем же идентификатором, сервер отключает первого клиента.

sender-server-receiver

Два отправителя в одном клиенте могут потребоваться для использования разных протоколов: первый отправитель может передавать видео и аудио по протоколу UDP, второй — команды, специальные данные и файлы по протоколу TCP или HTTP. Протокол указывается в TRVCamSender.Protocol. Отправители, использующие TCP или HTTP, должны быть подключены к порту HTTPPort, отправители, использующие UDP — к порту UDPPort. Для отправителей необходимо установить TCPConnectionType = rvtcpSenderToReceiver.

Получатель всегда подключается к серверу по протоколу TCP или HTTP. Для него необходимо установить TCPConnectionType = rvtcpReceiverToSender.

От клиента к клиенту

Если двум клиентам известны идентификаторы друг друга, они могут обмениваться данными через сервер. Идентификатор другого клиента может быть указан в TRVCamSender.GUIDTo (или аналогичных параметрах методов, отправляющих команды, файлы и т. д.).

Этот тип связи может использоваться для реализации приватных разговоров.

Группы клиентов

Ещё один способ установить связь между клиентами — это добавить их в одну группу.

server-group

Клиент может добавить себя в группу на сервере, вызвав метод TRVCamSender.JoinGroup, и удалить себя из группы, вызвав метод TRVCamSender.LeaveGroup.

Существующие члены группы получают уведомление в событиях TRVCamReceiver.OnUserJoinsGroup и OnUserLeavesGroup.

Клиент может запросить список членов группы, вызвав метод TRVCamSender.GetUsersFromGroup; в ответ вызывается событие TRVCamReceiver.OnGetGroupUsers.

Целевая группа для отправки данных может быть указана в TRVCamSender.GUIDGroup (или аналогичных параметрах методов, отправляющих команды, файлы и т. д.).

Этот тип связи может использоваться для реализации комнат чатов.

Количество групп может быть ограничено с помощью свойства MaxGroupCount.

Получатели по умолчанию

Ещё один способ установить связь между клиентами — это список получателей по умолчанию.

default-receivers

Если у отправителя не заданы свойства GUIDTo и GUIDGroup, данные от него отправляются получателям по умолчанию.

Получатели по умолчанию могут использоваться для реализации списков контактов (вместе с разрешёнными отправителями).

См. также:

методы TRVCamSender для работы с получателями по умолчанию

свойство KeepClientInfoMode

методы TRVCamSender для работы с разрешёнными отправителям