package
0.0.12
Repository: https://github.com/fankane/go-utils.git
Documentation: pkg.go.dev

# README

websocket 使用demo

server 端

// main.go
func main() {
    http.HandleFunc(testPath, func(w http.ResponseWriter, r *http.Request) {
        if srvConn, err := ServerHandleWS(HandleWSParam{
            W: w,
            R: r,
            F: serverFunc,
        }); err != nil {
            return
        }
    })
    http.ListenAndServe("127.0.0.1:1234", nil)
}

// 主动发送消息 
srvConn.WriteMessage(TextMessage, []byte("hello"))

// 业务处理, 打印客户端发送的消息,返回服务端时间字符串
func serverFunc(ctx context.Context, messageType int, p []byte) (needResponse, closeConn bool, body []byte) {
    fmt.Println("server receive msg body:", string(p))
    return true, false, []byte(fmt.Sprintf("server time:%s", time.Now().Format(utime.LayYMDHms1)))
}

client 端


u := url.URL{
    Scheme: "ws",
    Host:   "127.0.0.1:1234",
    Path:   "echo",
}
cliInfo, err := NewWSClient(u, clientFunc)
if err != nil {
    fmt.Println("NewWSClient err:", err)
    return
}

// 主动发送消息
cliInfo.WriteMessage(TextMessage, []byte("hello"))

// 业务处理, 打印服务端发送的消息,返回客户端端时间字符串
func clientFunc(ctx context.Context, messageType int, p []byte) (needResponse, closeConn bool, body []byte) {
    fmt.Println("server receive msg body:", string(p))
    return true, false, []byte(fmt.Sprintf("client time:%s", time.Now().Format(utime.LayYMDHms1)))
}

# Functions

No description provided by the author
No description provided by the author
CheckOrigin 会覆盖CheckOriginTrue.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Constants

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Variables

No description provided by the author
No description provided by the author
No description provided by the author

# Structs

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Type aliases

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author