IP*Works! 2016 .NET Edition
IP*Works! 2016 .NET Edition
Questions / Feedback?

Connection Type

A currently connected client.

Remarks

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

Fields

AcceptData
Boolean

Setting this field to False, temporarily disables data reception (and the DataIn event) on the connection. Setting this to True, re-enables data reception.

BytesSent
Integer

This field shows how many bytes were sent after the last assignment to DataToSend. Please check DataToSend for more information.

Note that this field will always return 0 when the component is operating in synchronous mode (that is, the Timeout property is set to a positive value.)

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 component to identify each connection. This identifier is unique to this connection.

DataToSend
String

This field contains a string of data to be sent to the remote host. Write-only property.

Assigning a string to the DataToSend makes the component send the string to the remote host. The Send method provides similar functionality.

When Timeout is set to 0 and SSLEnabled is set to False the component will behave asynchronously. If you are sending data to the remote host faster than it can process it, or faster than the network's bandwidth allows, the outgoing queue might fill up. When this happens, DataToSend fails with exception 10035: "[10035] Operation would block" (WSAEWOULDBLOCK). You can check this error, and then try to send the data again. The BytesSent property shows how many bytes were sent (if any). If 0 bytes were sent, then you can wait for the ReadyToSend event before attempting to send data again. (However, please note that ReadyToSend is not fired when part of the data is successfully sent).

When SSLEnabled is True or Timeout is set to a positive value the component behaves synchronously.

DataToSendB
Byte[]

This field contains a string of data to be sent to the remote host. Write-only property.

Assigning a string to the DataToSend makes the component send the string to the remote host. The Send method provides similar functionality.

When Timeout is set to 0 and SSLEnabled is set to False the component will behave asynchronously. If you are sending data to the remote host faster than it can process it, or faster than the network's bandwidth allows, the outgoing queue might fill up. When this happens, DataToSend fails with exception 10035: "[10035] Operation would block" (WSAEWOULDBLOCK). You can check this error, and then try to send the data again. The BytesSent property shows how many bytes were sent (if any). If 0 bytes were sent, then you can wait for the ReadyToSend event before attempting to send data again. (However, please note that ReadyToSend is not fired when part of the data is successfully sent).

When SSLEnabled is True or Timeout is set to a positive value the component behaves synchronously.

EOL
String

The EOL field is used to define boundaries in the input stream using the value of the field.

The EOL field is especially useful with ASCII files. Setting it to CRLF ("\r\n") enables splitting of the incoming ASCII text stream into lines. In this case, one event is fired for each line received (as well as in packet boundaries). The CRLF ("\r\n") . bytes are discarded.

The EOL field is a binary string. In particular, this means that it can be more than one byte long, and it can contain NULL bytes.

EOLB
Byte[]

The EOL field is used to define boundaries in the input stream using the value of the field.

The EOL field is especially useful with ASCII files. Setting it to CRLF ("\r\n") enables splitting of the incoming ASCII text stream into lines. In this case, one event is fired for each line received (as well as in packet boundaries). The CRLF ("\r\n") . bytes are discarded.

The EOL field is a binary string. In particular, this means that it can be more than one byte long, and it can contain NULL bytes.

IdleTimeout
Integer

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 component 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 component 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.

MaxLineLength
Integer

This field is the size of an internal buffer which holds received data while waiting for an EOL string.

If an EOL string is found in the input stream before MaxLineLength bytes are received, the DataIn event is fired with the EOL parameter set to True, and the buffer is reset.

If no EOL is found, and MaxLineLength bytes are accumulated in the buffer, the DataIn event is fired with the EOL parameter set to False, and the buffer is reset.

The minimum value for MaxLineLength is 256 bytes. The default value is 2048 bytes. The maximum value is 65536 bytes.

ReadyToSend
Boolean

Indicates whether the component is ready to send data.

This field indicates that the underlying TCP/IP subsystem is ready to accept data. This is True after a client connects, and will become False after a failed DataToSend.

After a failed DataToSend the ReadyToSend event will fire and this field will be True when data can be sent again.

RecordLength
Integer

If set to a positive value, this setting defines the length of data records to be received. The component will accumulate data until RecordLength is reached and only then fire the DataIn event with data of length RecordLength. This allows data to be received as records of known length. This value can be changed at any time, including within the DataIn event.

A value of 0 (default) means this setting is not used.

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 component 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
Integer

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.

SingleLineMode
Boolean

This field shows the special mode for line-oriented protocols. When SingleLineMode is True, the component treats the incoming data stream as lines separated by CRLF, CR, or LF. The EOL property is ignored.

Timeout
Integer

This field contains a timeout for the component.

If the Timeout property is set to 0, all operations return immediately, potentially failing with a 'WOULDBLOCK' error if data can't be sent or received immediately.

If Timeout is set to a positive value, the component will automatically retry each operation that would otherwise result in a 'WOULDBLOCK' error for a maximum of Timeout seconds.

The component 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 component 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.

Optionally, the behavior of the component may be changed to absolute timeouts, i.e. the component will wait for a maximum of Timeout seconds since the beginning of the operation, without extending the timeout period during communications.

This behavior is controlled by the AbsoluteTimeout configuration setting.

The default value for the Timeout property is 0 (asynchronous operation).

UploadStream
System.IO.Stream

Setting this field uploads the data in the specified stream to the current connection. The component will automatically close this stream if CloseStreamAfterTransfer is true (default).

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

[VB.NET]
Public Connection()

[C#]
public Connection();



 
 
Copyright (c) 2020 /n software inc. - All rights reserved.
IP*Works! 2016 .NET Edition - Version 16.0 [Build 7353]