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

Timeout Property

A timeout for the component.

Syntax

[VB.NET]
Public Property Timeout As Integer

[C#]
public int Timeout {get; set;}

Remarks

If the Timeout property is set to 0, all operations return immediately, potentially failing with an '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).

Note: when a communication component behaves asynchronously in .NET, some events can fire from the background threads used to process socket IO. This can cause problems in GUI applications where there is logic inside an asynchronous event that interacts with the GUI. In .NET, most GUI controls will not allow themselves to be accessed from any thread other than the one that created them due to potential deadlocking issues. To ensure the user can do this, the .NET GUI API supplies a BeginInvoke method that can be used to access GUI controls from other threads, such as the ones that fire events. You can also set the InvokeThrough property of the communication component to any control on the GUI form to direct the component to forward all events through that control.

Default Value

0

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