2017-06-03 18:40:28 -07:00
|
|
|
[/
|
|
|
|
|
Copyright (c) 2013-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
|
|
|
|
|
|
|
|
|
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
|
|
|
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
|
]
|
|
|
|
|
|
2017-06-16 19:27:00 -07:00
|
|
|
[section Using WebSocket]
|
2017-06-03 18:40:28 -07:00
|
|
|
|
|
|
|
|
The WebSocket Protocol enables two-way communication between a client
|
|
|
|
|
running untrusted code in a controlled environment to a remote host that has
|
|
|
|
|
opted-in to communications from that code. The protocol consists of an opening
|
|
|
|
|
handshake followed by basic message framing, layered over TCP. The goal of
|
|
|
|
|
this technology is to provide a mechanism for browser-based applications
|
|
|
|
|
needing two-way communication with servers without relying on opening multiple
|
|
|
|
|
HTTP connections.
|
|
|
|
|
|
|
|
|
|
Beast provides developers with a robust WebSocket implementation built on
|
|
|
|
|
Boost.Asio with a consistent asynchronous model using a modern C++ approach.
|
|
|
|
|
|
|
|
|
|
[note
|
2017-06-07 16:30:49 -07:00
|
|
|
This documentation assumes familiarity with __Asio__ and
|
|
|
|
|
the protocol specification described in __rfc6455__.
|
|
|
|
|
Sample code and identifiers appearing in this section is written
|
|
|
|
|
as if these declarations are in effect:
|
|
|
|
|
|
|
|
|
|
[ws_snippet_1]
|
2017-06-03 18:40:28 -07:00
|
|
|
]
|
|
|
|
|
|
2017-07-09 20:09:30 -07:00
|
|
|
[include 06_websocket/1_streams.qbk]
|
|
|
|
|
[include 06_websocket/2_connect.qbk]
|
|
|
|
|
[include 06_websocket/3_client.qbk]
|
|
|
|
|
[include 06_websocket/4_server.qbk]
|
|
|
|
|
[include 06_websocket/5_messages.qbk]
|
|
|
|
|
[include 06_websocket/6_control.qbk]
|
|
|
|
|
[include 06_websocket/7_notes.qbk]
|
2017-06-03 18:40:28 -07:00
|
|
|
|
|
|
|
|
[endsect]
|