Top  Previous  Next

Contains connection properties

Unit MRVType;


TRVConnectionProperties = class(TPersistent);



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)


  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.


The following properties have this type:



TRVMediaServer.SenderConnectionProperties and ReceiverConnectionProperties