mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-16 13:10:24 +00:00
Get the basics of Websocket covered in the guide
This commit is contained in:
parent
1b996794ee
commit
1f1969ba71
2 changed files with 19 additions and 7 deletions
|
@ -25,7 +25,6 @@ Cowboy User Guide
|
||||||
* Usage
|
* Usage
|
||||||
* [Websocket handlers](ws_handlers.md)
|
* [Websocket handlers](ws_handlers.md)
|
||||||
* Purpose
|
* Purpose
|
||||||
* Callbacks
|
|
||||||
* Usage
|
* Usage
|
||||||
* [REST handlers](rest_handlers.md)
|
* [REST handlers](rest_handlers.md)
|
||||||
* Purpose
|
* Purpose
|
||||||
|
|
|
@ -16,15 +16,28 @@ is implemented by most browsers today, although for backward
|
||||||
compatibility reasons a solution like [Bullet](https://github.com/extend/bullet)
|
compatibility reasons a solution like [Bullet](https://github.com/extend/bullet)
|
||||||
might be preferred.
|
might be preferred.
|
||||||
|
|
||||||
Callbacks
|
|
||||||
---------
|
|
||||||
|
|
||||||
@todo Describe the callbacks.
|
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
-----
|
-----
|
||||||
|
|
||||||
@todo Explain how to use them.
|
Websocket handlers are a bridge between the client and your system.
|
||||||
|
They can receive data from the client, through `websocket_handle/3`,
|
||||||
|
or from the system, through `websocket_info/3`. It is up to the
|
||||||
|
handler to decide to process this data, and optionally send a reply
|
||||||
|
to the client.
|
||||||
|
|
||||||
|
The first thing to do to be able to handle websockets is to tell
|
||||||
|
Cowboy that it should upgrade the connection to use the Websocket
|
||||||
|
protocol, as follow.
|
||||||
|
|
||||||
|
``` erlang
|
||||||
|
init({tcp, http}, Req, Opts) ->
|
||||||
|
{upgrade, protocol, cowboy_websocket}.
|
||||||
|
```
|
||||||
|
|
||||||
|
Cowboy will then switch the protocol and call `websocket_init`,
|
||||||
|
followed by zero or more calls to `websocket_data` and
|
||||||
|
`websocket_info`. Then, when the connection is shutting down,
|
||||||
|
`websocket_terminate` will be called.
|
||||||
|
|
||||||
The following handler sends a message every second. It also echoes
|
The following handler sends a message every second. It also echoes
|
||||||
back what it receives.
|
back what it receives.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue