mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-16 05:00: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
|
||||
* [Websocket handlers](ws_handlers.md)
|
||||
* Purpose
|
||||
* Callbacks
|
||||
* Usage
|
||||
* [REST handlers](rest_handlers.md)
|
||||
* 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)
|
||||
might be preferred.
|
||||
|
||||
Callbacks
|
||||
---------
|
||||
|
||||
@todo Describe the callbacks.
|
||||
|
||||
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
|
||||
back what it receives.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue