You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ebkTools/nhooyrioWebsocketAddons/nhooyrioWebsocketAddons.go

43 lines
799 B
Go

package nhooyrioWebsocketAddons
import (
"context"
"nhooyr.io/websocket"
"nhooyr.io/websocket/wsjson"
)
func WsjsonSend(ctx context.Context, conn *websocket.Conn, sendval interface{}) (err error, receiveval interface{}) {
//Send
err = wsjson.Write(ctx, conn, sendval)
if err != nil {
return err, nil
}
//Receive
err = wsjson.Read(ctx, conn, &receiveval)
if err != nil {
return err, nil
}
return nil, receiveval
}
func WsjsonReceive(ctx context.Context, conn *websocket.Conn, dosth func(interface{}) interface{}) (err error) {
var sendval, receiveval interface{}
//Receive
err = wsjson.Read(ctx, conn, &receiveval)
if err != nil {
return
}
sendval = dosth(receiveval)
//Send
err = wsjson.Write(ctx, conn, sendval.(string))
if err != nil {
return
}
return nil
}