Click or drag to resize
ClientSettings Class

Settings that define a OIV.RemoteViz.Rendering.Client.

Inheritance Hierarchy

Namespace: OIV.RemoteViz.Rendering
Assembly: OIV.RemoteViz (in OIV.RemoteViz.dll) Version: 2023.2.2.0 (2023.2.2)
public sealed class ClientSettings : SoNetBase

The ClientSettings type exposes the following members.

Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Public methodGetHashCode
Overrides GetHashCode().
(Inherited from SoNetBase.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public propertyBandwidth

Sets the network bandwidth to be used by the client.


The application can query this object from a OIV.RemoteViz.Rendering.Client object. A OIV.RemoteViz.Rendering.Client object is passed to various listener methods such as OIV.RemoteViz.Rendering.ServiceListener.OnConnectedClient(System.String, OIV.RemoteViz.Rendering.NetworkPerformance) and OIV.RemoteViz.Rendering.ServiceListener.OnInitializedClient(OIV.RemoteViz.Rendering.Client, OIV.RemoteViz.Rendering.NetworkPerformance). Clients can also be queried using OIV.RemoteViz.Rendering.Service.GetClient(System.String).

OIV.RemoteViz.Rendering.ClientSettings is used to set the network bandwidth to be used by the OIV.RemoteViz.Rendering.Client. This value is not a hard limit, but higher values imply higher image quality and higher frames per second. The policy can be set for each connection (see OIV.RemoteViz.Rendering.ConnectionSettings.SetFrameEncodingPolicy(OIV.RemoteViz.Rendering.IFrameEncodingPolicy)). If a client has multiple connections, the bandwidth value for each connection is the client value divided by the number of connections.

If network calibration is enabled (true by default, see OIV.RemoteViz.Rendering.NetworkPerformance), when a client connects to the service, RemoteViz will measure the available network bandwidth. The default implementation of OIV.RemoteViz.Rendering.ServiceListener.OnInitializedClient(OIV.RemoteViz.Rendering.Client, OIV.RemoteViz.Rendering.NetworkPerformance) will query this value (()) and call (). If the application already knows the available network bandwidth, it is not necessary to enable calibration, simply call ().

To measure available network bandwidth, RemoteViz has to cause network congestion, which implies that the user is blocked for a period of time. Therefore RemoteViz only measures network bandwidth once, when the client first connects (and only if calibration is enabled). Of course network bandwidth can change at any time. If the application has new information about the available network bandwidth, () can be called at any time.

The application can query this object from a OIV.RemoteViz.Rendering.Client object. The OIV.RemoteViz.Rendering.Client object can obtained in, e.g., OIV.RemoteViz.Rendering.ServiceListener.OnPendingCreateRenderArea(System.String, System.UInt32@, System.UInt32@, OIV.RemoteViz.Rendering.RenderAreaHardware, OIV.RemoteViz.Rendering.Client, OIV.RemoteViz.Rendering.ConnectionParameters).

See Also