...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Send an HTTP WebSocket Upgrade request and receive the response.
void handshake( response_type& res, string_view host, string_view target, error_code& ec);
This function is used to synchronously send the WebSocket upgrade HTTP request. The call blocks until one of the following conditions is true:
This function is implemented in terms of one or more calls to the next
layer's read_some
and
write_some
functions.
The operation is successful if the received HTTP response indicates a successful HTTP Upgrade (represented by a Status-Code of 101, "switching protocols").
Name |
Description |
---|---|
|
The HTTP Upgrade response returned by the remote endpoint.
If |
|
The name of the remote host, required by the HTTP protocol. |
|
The Request Target, which may not be empty, required by the HTTP protocol. |
|
Set to indicate what error occurred, if any. |
websocket::stream<ip::tcp::socket> ws{io_context}; ... error_code ec; response_type res; ws.handshake(res, host, target, ec); if(ec) { // An error occurred. }