第一步引入相关模块
"github.com/gorilla/websocket"
第二步:创建相关服务
update := websocket.Upgrader{
ReadBufferSize: 1024,
WriteBufferSize: 1024,
CheckOrigin: checkOrigin,
}完整代码:
package main
import (
"fmt"
"github.com/gorilla/websocket"
"log"
"net/http"
)
func main() {
update := websocket.Upgrader{
ReadBufferSize: 1024,
WriteBufferSize: 1024,
CheckOrigin: checkOrigin,
}
http.HandleFunc("/ping", func(w http.ResponseWriter, r *http.Request) {
if true == websocket.IsWebSocketUpgrade(r){
//是webscoket
ws,err := update.Upgrade(w,r,w.Header())
if err != nil{
log.Println("请求出错")
}
defer ws.Close()
for{
var param = make(map[string]string)
param["id"]="1"
//ws.ReadJSON(¶m).Error()
n,msg ,_:= ws.ReadMessage()
fmt.Println(n,string(msg))
ws.WriteJSON(param)
}
}else{
w.Write([]byte("当前不是WS请求"))
}
})
log.Println("启动中")
http.ListenAndServe("0.0.0.0:80",nil)
}
func checkOrigin(r *http.Request) bool {
return true
}