What are socket exceptions? What is out-of-band data?
Unlike exceptions in C++, socket exceptions do not indicate that an
error has occured. Socket exceptions usually refer to the
notification that out-of-band data has arrived. Out-of-band data
(called "urgent data" in TCP) looks to the application like a separate
stream of data from the main data stream. This can be useful for
separating two different kinds of data. Note that just because it is
called "urgent data" does not mean that it will be delivered any
faster, or with higher priorety than data in the in-band data stream.
Also beware that unlike the main data stream, the out-of-bound data
may be lost if your application can't keep up with it.