mirror of
https://github.com/kataras/iris.git
synced 2025-01-23 18:51:03 +01:00
7337396e3c
Former-commit-id: 4a66a689f86e5cd93ec9001e5ca18b4f5d3923be
45 lines
989 B
Go
45 lines
989 B
Go
package main
|
|
|
|
import (
|
|
"github.com/kataras/iris"
|
|
|
|
"github.com/googollee/go-socket.io"
|
|
)
|
|
|
|
/*
|
|
go get -u github.com/googollee/go-socket.io
|
|
*/
|
|
|
|
func main() {
|
|
app := iris.New()
|
|
server, err := socketio.NewServer(nil)
|
|
if err != nil {
|
|
app.Logger().Fatal(err)
|
|
}
|
|
|
|
server.On("connection", func(so socketio.Socket) {
|
|
app.Logger().Infof("on connection")
|
|
so.Join("chat")
|
|
so.On("chat message", func(msg string) {
|
|
app.Logger().Infof("emit: %v", so.Emit("chat message", msg))
|
|
so.BroadcastTo("chat", "chat message", msg)
|
|
})
|
|
so.On("disconnection", func() {
|
|
app.Logger().Infof("on disconnect")
|
|
})
|
|
})
|
|
|
|
server.On("error", func(so socketio.Socket, err error) {
|
|
app.Logger().Errorf("error: %v", err)
|
|
})
|
|
|
|
// serve the socket.io endpoint.
|
|
app.Any("/socket.io/{p:path}", iris.FromStd(server))
|
|
|
|
// serve the index.html and the javascript libraries at
|
|
// http://localhost:8080
|
|
app.StaticWeb("/", "./public")
|
|
|
|
app.Run(iris.Addr("localhost:8080"), iris.WithoutPathCorrection)
|
|
}
|