How the Event interface works
mainGWS uses an event-driven model via the Event interface. You can implement this interface to handle the WebSocket lifecycle. The methods are:
OnOpen(socket *Conn): Triggered when a connection is established.OnClose(socket *Conn, err error): Triggered when a close frame is received or an I/O error occurs.OnPing(socket *Conn, payload []byte): Triggered when a ping frame is received.OnPong(socket *Conn, payload []byte): Triggered when a pong frame is received.OnMessage(socket *Conn, message *Message): Triggered when a text or binary frame is received.
type Event interface {
OnOpen(socket *Conn) // connection is established
OnClose(socket *Conn, err error) // received a close frame or input/output error occurs
OnPing(socket *Conn, payload []byte) // received a ping frame
OnPong(socket *Conn, payload []byte) // received a pong frame
OnMessage(socket *Conn, message *Message) // received a text/binary frame
}