mirror of
https://gitea.invidious.io/iv-org/shard-kemal.git
synced 2024-08-15 00:53:36 +00:00
Add websocket doc
This commit is contained in:
parent
88c19f0051
commit
f258f28689
1 changed files with 35 additions and 0 deletions
35
docs/websockets.md
Normal file
35
docs/websockets.md
Normal file
|
@ -0,0 +1,35 @@
|
|||
# Using Websockets
|
||||
|
||||
Using Websockets is super easy! By nature Websockets are a bit different than standard Http Request/Response lifecycle.
|
||||
|
||||
You can easily create a websocket handler which matches the route of `ws://host:port/route. You can create more than 1 websocket handler
|
||||
with different routes.
|
||||
|
||||
```ruby
|
||||
ws "/" do |socket|
|
||||
|
||||
end
|
||||
|
||||
ws "/route2" do |socket|
|
||||
|
||||
end
|
||||
```
|
||||
|
||||
Let's access the socket and create a simple echo server.
|
||||
|
||||
```ruby
|
||||
ws "/" do |socket|
|
||||
# Send welcome message to the client
|
||||
socket.send "Hello from Kemal!"
|
||||
|
||||
# Handle incoming message and echo back to the client
|
||||
socket.on_message do |message|
|
||||
socket.send "Echo back from server #{message}"
|
||||
end
|
||||
|
||||
# Executes when the client is disconnected. You can do the cleaning up here.
|
||||
socket.on_close do
|
||||
puts "Closing socket"
|
||||
end
|
||||
end
|
||||
```
|
Loading…
Reference in a new issue