mirror of
https://github.com/kataras/iris.git
synced 2025-01-24 11:11:03 +01:00
45 lines
961 B
Go
45 lines
961 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"))
|
||
|
}
|