SerialPort.ReadTimeout Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets or sets the number of milliseconds before a time-out occurs when a read operation does not finish.

Namespace:   System.IO.Ports
Assembly:  System (in System.dll)

member ReadTimeout : int with get, set

Property Value

Type: System.Int32

The number of milliseconds before a time-out occurs when a read operation does not finish.

Exception Condition

The port is in an invalid state.

- or -

An attempt to set the state of the underlying port failed. For example, the parameters passed from this SerialPort object were invalid.


The read time-out value is less than zero and not equal to InfiniteTimeout.

The read time-out value was originally set at 500 milliseconds in the Win32 Communications API. This property allows you to set this value. The time-out can be set to any value greater than zero, or set to InfiniteTimeout, in which case no time-out occurs. InfiniteTimeout is the default.


Users of the unmanaged COMMTIMEOUTS structure might expect to set the time-out value to zero to suppress time-outs. To suppress time-outs with the ReadTimeout property, however, you must specify InfiniteTimeout.

This property does not affect the BeginRead method of the stream returned by the BaseStream property.

The following code example demonstrates the use of the SerialPort class to allow two users to chat from two separate computers connected by a null modem cable. In this example, the users are prompted for the port settings and a username before chatting. This code example is part of a larger code example provided for the SerialPort class.

No code example is currently available or this language may not be supported.

.NET Framework
Available since 2.0
Return to top