nhooyr / websocket

Minimal and idiomatic WebSocket library for Go
ISC License
3.6k stars 273 forks source link

Add custom ping message option to Ping function #441

Open alisonmshu opened 4 months ago

alisonmshu commented 4 months ago
func (c *Conn) Ping(ctx context.Context) error {
    p := atomic.AddInt32(&c.pingCounter, 1)

    err := c.ping(ctx, strconv.Itoa(int(p)))
    if err != nil {
        return fmt.Errorf("failed to ping: %w", err)
    }
    return nil
}

func (c *Conn) ping(ctx context.Context, p string) error {

Is it possible to add a parameter to use custom ping/pong message when sending it? Sometimes, one side want to listen to specific ping/pong message. If we can add that, it would be very helpful. I really like this project. It is simple enough that I can just focus my project logic.

nhooyr commented 3 months ago

Perhaps, let me think about this. I don't want to expand the API too much but I have some ideas.