AzureRelayProxyConnection Type

A currently connected client.

Remarks

This type describes the connection of a client which is currently connected to the class. You may use the different fields of this type to manage the connection.

Fields

Connected
boolean

This field is used to disconnect individual connections and/or show their status.

The Connected field may be set to false to close the connection.

Connected also shows the status of a particular connection (connected/disconnected).

How and when the connection is closed is controlled by the Linger property. Please refer to its description for more information.

ConnectionId
String

This field contains an identifier generated by the class to identify each connection. This identifier is unique to this connection.

IdleTimeout
int

The idle timeout for this connection. This field is similar to DefaultIdleTimeout but may be set on a per-connection basis to override DefaultIdleTimeout. This field specifies the idle timeout (in seconds) for the connected client. When set to a positive value the class will disconnect idle clients after the specified timeout.

This only applies to clients that have not send to received data within the specified number of seconds.

If set to 0 (default) no idle timeout is applied.

Note: DoEvents must be called in order for the class to check existing connections.

LocalAddress
String

This field shows the IP address of the interface through which the connection is passing.

LocalAddress is important for multi-homed hosts where it can be used to find which particular network interface an individual connection is going through.

RemoteHost
String

This field shows the IP address of the remote host through which the connection is coming.

The connection must be valid or an error will be fired.

If the class is configured to use a SOCKS firewall, the value assigned to this property may be preceded with an "*". If this is the case, the host name is passed to the firewall unresolved and the firewall performs the DNS resolution.

RemotePort
int

This field shows the TCP port on the remote host through which the connection is coming.

The connection must be valid or an error will be fired.

Timeout
int

This field specifies a timeout for the class.

This field defines the timeout when sending data. When SSLEnabled is False a value of 0 means data will be sent asynchronously and a positive value means data is sent synchronously. When SSLEnabled is True all data is sent synchronously regardless of the Timeout value. Please see the notes below for details.

Plaintext

If the Timeout field is set to 0, all operations return immediately, potentially failing with a WOULDBLOCK error if data cannot be sent immediately.

If Timeout is set to a positive value, data is sent in a blocking manner and the class will wait for the operation to complete before returning control. The class will handle any potential WOULDBLOCK errors internally and automatically retry the operation for a maximum of Timeout seconds.

SSL

If the Timeout field is set to 0, all operations will run uninterrupted until successful completion or an error condition is encountered.

If Timeout is set to a positive value, the class will wait for the operation to complete before returning control.

Additional Notes

The class will use DoEvents to enter an efficient wait loop during any potential waiting period, making sure that all system events are processed immediately as they arrive. This ensures that the host application does not "freeze" and remains responsive.

If Timeout expires, and the operation is not yet complete, the class throws an exception.

Please note that by default, all timeouts are inactivity timeouts, i.e. the timeout period is extended by Timeout seconds when any amount of data is successfully sent or received.

The default value for the Timeout field is 0 (asynchronous for plaintext, synchronous for SSL).

UserData
String

The UserData field holds connection specific user specified data.

User specified data may be set or retrieved at any point while the connection is valid. This provides a simple way to associate arbitrary data with a specific connection.

UserDataB
byte[]

The UserData field holds connection specific user specified data.

User specified data may be set or retrieved at any point while the connection is valid. This provides a simple way to associate arbitrary data with a specific connection.

Constructors

public AzureRelayProxyConnection();



Copyright (c) 2022 /n software inc. - All rights reserved.
IPWorks MQ 2020 Java Edition - Version 20.0 [Build 8155]