TRVConnectionProperties

<< Click to display table of contents >>

TRVConnectionProperties

Contains connection properties

Unit [VCL and LCL] MRVConnectionProp;

Unit [FMX] fmxMRVConnectionProp;

Syntax

TRVConnectionProperties = class(TPersistent);

hmtoggle_arrow1Hierarchy

Description

This class has the following properties:

VideoTimeout: Integer (default value = DefaultWaitForVideo)

AudioTimeout: Integer (default value = DefaultWaitForAudio)

CmdTimeout: Integer (default value = DefaultWaitForCmd)

DataTimeout: Integer (default value = DefaultWaitForData)

FileTimeout: Integer read (default value = DefaultWaitForFile)

UseBlockingSocketsForVideo: Boolean (default value = False)

UseBlockingSocketsForAudio: Boolean (default value = False)

UseBlockingSocketsForCmd: Boolean (default value = True)

UseBlockingSocketsForData: Boolean (default value = False)

UseBlockingSocketsForFile: Boolean (default value = True)

where

const
  DefaultWaitForVideo = 3000;
  DefaultWaitForAudio = 3000;
  DefaultWaitForCmd   = 15000;
  DefaultWaitForData  = 10000;
  DefaultWaitForFile  = 10000;

Timeout properties define a maximal waiting time (in ms) for non-blocking sockets for data of the specified type. As you can see, the largest waiting time if for commands, because they are the most important (and may be even critical for a stable working).

If UseBlockingSockets*=True

The component makes a request and waits for other party to respond (or to break the connection). There are no disconnects on timeout.

Pluses: all sent data will be received.

Minuses: stability; if one application hangs, other application hangs too.

If UseBlockingSockets*=False

The component makes a request and waits for other party to respond, or to break the connection, or for the time-out interval to elapse.

Pluses: stability; if one applications hangs, or it is too busy to process requests, other application breaks the connection after a time out, and so it can continue working.

Minuses: data could be lost if other application is busy, connection will be broken.

Use

The following properties have this type:

TRVCamSender.ConnectionProperties

TRVCamReceiver.ConnectionProperties

TRVMediaServer.SenderConnectionProperties and ReceiverConnectionProperties