|
<< Нажмите, чтобы показать Содержание >> TRVCamSender.SendCmd, BeginCmd, EndCmd, WaitSendCmd |
Методы отправки команд в TRVCamReceiver (когда отправитель подключен к TRVCamReceiver по сети либо напрямую, либо через TRVMediaServer).
procedure BeginCmd;
procedure EndCmd;
procedure WaitForSendCmd(IsProcessMessages: Boolean;
AMediaIndex: Word = 0);
procedure SendCmd(Cmd: TRVCmd; vGUIDTo: TRVMAnsiString = '';
vGUIDGroup: TRVMAnsiString = ''; AMediaIndex: Word = 0);
Имена команд, отправляемых на сервер, не должны начинаться с префиксов 'RV_' или 'RVS_'. Эти префиксы зарезервированы для системных команд.
SendCmd отправляет команду клиенту, указанному в vGUIDTo (если vGUIDTo пуст, используется свойство GUIDTo).
Если vGUIDTo пуст, команда отправляется клиентам, принадлежащим к группе с идентификатором vGUIDGroup (если vGUIDGroup пуст, используется свойство GUIDGroup).
В противном случае команда отправляется получателям по умолчанию (если они определены). Когда получатель клиента получает команду, происходит событие OnReceiveCmdData.
Команды с именами, начинающимися с 'RVSU_', обрабатываются особым образом. Они отправляются на сам сервер (параметры GUID игнорируются). Когда сервер получает команду, происходит событие OnServerCmd. Эти команды не перенаправляются сервером клиентам. Команды на сервер не должны быть большими: общий размер команды, включая всю внутреннюю информацию, не должен превышать 8912 байт.
SendCmd отправляет команду получателю; vGUIDTo может указывать идентификатор получателя (если vGUIDTo пусто, используется свойство GUIDTo). Идентификатор группы игнорируется. Когда получатель получает команду, происходит событие OnReceiveCmdData.
SendCmd только инициирует отправку и завершает работу до фактической отправки команды. Не освобождайте объект Cmd, он будет освобожден компонентом TRVCamSender.
Вы можете использовать WaitForSendCmd, чтобы дождаться отправки всех команд. Если IsProcessMessages=True, WaitForSendCmd содержит цикл вызовов Application.ProcessMessages, поэтому проверьте Application.Terminated после завершения работы метода.
Если вам нужно отправить несколько команд, вызовите BeginCmd, затем вызовите несколько SendCmd, затем вызовите EndCmd. В этом режиме команды накапливаются при вызове SendCmd и отправляются только в EndCmd.
Необязательный параметр AMediaIndex позволяет задать номер медиаканала, тем самым связывая эту команду с данным каналом. В большинстве приложений этот параметр можно оставить равным 0.
См. также: