//javascript
<html><head>
<title>title</title>
<script type="text/javascript">
var ws=new WebSocket("ws://127.0.0.1:9999/echo")
ws.onopen=function(evt){
ws.send("hello from client\n")
}
ws.onmessage=function(evt){
document.write(evt.data)
}
ws.onclose=function(evt){
alert("closed")
}
ws.onerror=function(evt){
alert(evt.data)
}
</script>
</head>
<body>
</body>
</html>
//main.go 针对浏览器
package main
import (
"bufio"
f "fmt"
"golang.org/x/net/websocket"
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
f.Fprint(w, "hello home")
})
http.Handle("/echo", websocket.Handler(echohandler))
http.ListenAndServe(":9999", nil)
}
func echohandler(ws *websocket.Conn) {
reader := bufio.NewReader(ws)
data, _, _ := reader.ReadLine()
f.Println(string(data))
ws.Write([]byte("hello from server"))
ws.Close()
}
//main.go针对非浏览器
go func() {
if err := http.ListenAndServe(":8090", nil); err != nil {
fmt.Println(err)
}
}()
err := http.ListenAndServe(":8091", websocket.Server{websocket.Config{}, nil, xchat.Connection})
if err != nil {
fmt.Println(err)
}
评论
发表评论