Starts the server accepting incoming connection requests.
/// Thrown when this instance has been disposed of.
///
/// A caller higher in the call stack does not have permission for the requested operation.
///
/// Thrown when an error occurred when attempting to bind the underlying socket.
///