Skip to content

Instantly share code, notes, and snippets.

@erkie
Created March 6, 2019 09:32
Show Gist options
  • Save erkie/8202db6201a754140a429cbb33a10332 to your computer and use it in GitHub Desktop.
Save erkie/8202db6201a754140a429cbb33a10332 to your computer and use it in GitHub Desktop.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
test
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.4.5/socket.io.js"></script>
<script type="text/javascript">
var socket = io("/")
socket.on("connect", function() {
console.log("on connect")
});
socket.on("reply", function(msg) {
console.log("HI", msg)
})
socket.on("boo", function(msg) {
console.log("boo", msg)
})
</script>
</body>
</html>
package main
import (
"fmt"
"log"
"net/http"
socketio "github.com/googollee/go-socket.io"
)
func main() {
server, err := socketio.NewServer(nil)
if err != nil {
log.Fatal(err)
}
server.OnConnect("/", func(s socketio.Conn) error {
s.SetContext("")
fmt.Println("connected:", s.ID())
fmt.Println("client: emitting")
s.Emit("reply", "hello world: "+s.ID())
fmt.Println("client: emitted hello world " + s.ID())
fmt.Println("client: foo")
s.Emit("foo", "bar "+s.ID())
fmt.Println("client: emitted foo bar")
return nil
})
go server.Serve()
defer server.Close()
http.Handle("/socket.io/", server)
http.Handle("/", http.FileServer(http.Dir("./static")))
log.Fatal(http.ListenAndServe(":5000", nil))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment