mirror of
https://github.com/kataras/iris.git
synced 2025-01-24 03:01:03 +01:00
f487cd0029
Former-commit-id: 98895c34115ec2076b431332f0ffe9645adf7590
49 lines
956 B
Go
49 lines
956 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"gopkg.in/kataras/iris.v6"
|
|
"gopkg.in/kataras/iris.v6/adaptors/httprouter"
|
|
"gopkg.in/kataras/iris.v6/adaptors/websocket"
|
|
)
|
|
|
|
func handleConnection(c websocket.Connection) {
|
|
|
|
// Read events from browser
|
|
c.On("chat", func(msg string) {
|
|
|
|
// Print the message to the console
|
|
fmt.Printf("%s sent: %s\n", c.Context().RemoteAddr(), msg)
|
|
|
|
// Write message back to browser
|
|
c.Emit("chat", msg)
|
|
})
|
|
|
|
}
|
|
|
|
func main() {
|
|
app := iris.New()
|
|
app.Adapt(iris.DevLogger())
|
|
app.Adapt(httprouter.New())
|
|
|
|
// create our echo websocket server
|
|
ws := websocket.New(websocket.Config{
|
|
ReadBufferSize: 1024,
|
|
WriteBufferSize: 1024,
|
|
Endpoint: "/echo",
|
|
})
|
|
|
|
ws.OnConnection(handleConnection)
|
|
|
|
// Adapt the websocket server.
|
|
// you can adapt more than one of course.
|
|
app.Adapt(ws)
|
|
|
|
app.Get("/", func(ctx *iris.Context) {
|
|
ctx.ServeFile("websockets.html", false) // second parameter: enable gzip?
|
|
})
|
|
|
|
app.Listen(":8080")
|
|
}
|