diff --git a/README.md b/README.md index b55aec8..485054f 100644 --- a/README.md +++ b/README.md @@ -4,3 +4,45 @@ [![Build Status](https://travis-ci.org/olahol/melody.svg)](https://travis-ci.org/olahol/melody) > :notes: Simple websocket framework for Go + +## Install + +```bash +go get github.com/olahol/melody +``` + +## Example + +[Simple broadcasting chat server](https://github.com/olahol/melody/tree/master/examples/chat), +error handling left as en exercise for the developer. + +```go +package main + +import ( + "github.com/olahol/melody" + "github.com/gin-gonic/gin" + "net/http" +) + +func main() { + r := gin.Default() + m := melody.New() + + r.GET("/", func(c *gin.Context) { + http.ServeFile(c.Writer, c.Request, "index.html") + }) + + r.GET("/ws", func(c *gin.Context) { + m.HandleRequest(c.Writer, c.Request) + }) + + m.HandleMessage(func(s *melody.Session, msg []byte) { + m.Broadcast(msg) + }) + + r.Run(":5000") +} +``` + +[![Chat demo](https://cdn.rawgit.com/olahol/melody/master/examples/chat/demo.webm "Demo")](https://github.com/olahol/melody/tree/master/examples/chat) diff --git a/examples/chat/demo.webm b/examples/chat/demo.webm new file mode 100644 index 0000000..5bb67ff Binary files /dev/null and b/examples/chat/demo.webm differ