Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

websocket::stream::close (2 of 2 overloads)
PrevUpHomeNext

Perform the WebSocket closing handshake and close the underlying stream.

Synopsis
void
close(
    close_reason const& cr,
    error_code& ec);
Description

This function sends a close frame to begin the WebSocket closing handshake and waits for a corresponding close frame in response. Once received, it calls teardown to gracefully shut down the underlying stream.

After beginning the closing handshake, the program should not write further message data, pings, or pongs. However, it can still read incoming message data. A read returning error::closed indicates a successful connection closure.

The call blocks until one of the following conditions is true:

  • The closing handshake completes, and teardown finishes.
  • An error occurs.

The algorithm, known as a composed operation, is implemented in terms of calls to the next layer's write_some function.

Parameters

Name

Description

cr

The reason for the close. If the close reason specifies a close code other than beast::websocket::close_code::none, the close frame is sent with the close code and optional reason string. Otherwise, the close frame is sent with no payload.

ec

Set to indicate what error occurred, if any.

See Also

PrevUpHomeNext