Documentation
¶
Overview ¶
*
- Modfied from https://github.com/sacOO7/gowebsocket
Index ¶
- func HubSessions(hub *Hub, w http.ResponseWriter, r *http.Request)
- func ServeUDP(hub *Hub, conn *kcp.UDPSession)
- func ServeWs(hub *Hub, w http.ResponseWriter, r *http.Request)
- type AvailableSession
- type Client
- type ClientHandler
- type ClientHubUDPWrapper
- type ClientHubWSWrapper
- type ClosedMessage
- type ConnectionOptions
- type Empty
- type HostJoinMessage
- type Hub
- type ISocket
- type KcpSocket
- type LeavingMessage
- type MembersMessage
- type MembersMessageResponse
- type ReconnectionOptions
- type RegisteredMessage
- type Session
- type SessionManager
- func (sessionManager *SessionManager) CloseSession(targetSession string)
- func (sessionManager *SessionManager) Host(message *HostJoinMessage, reply *string) error
- func (sessionManager *SessionManager) Join(message *HostJoinMessage, reply *string) error
- func (sessionManager *SessionManager) LeaveSession(targetParticipantId string, targetSession string)
- func (sessionManager *SessionManager) Members(message *MembersMessage, reply *MembersMessageResponse) error
- type SessionMessage
- type Socket
- type SocketHandler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HubSessions ¶
func HubSessions(hub *Hub, w http.ResponseWriter, r *http.Request)
Types ¶
type AvailableSession ¶
type Client ¶
type Client struct { Hub *Hub Session *string Id string Name *string Socket ISocket Events map[string]*signals.Signal[[]byte] Ready bool // contains filtered or unexported fields }
Client is a middleman between the websocket connection and the hub.
type ClientHandler ¶
type ClientHubUDPWrapper ¶
func (ClientHubUDPWrapper) Close ¶
func (c ClientHubUDPWrapper) Close() error
func (ClientHubUDPWrapper) Write ¶
func (c ClientHubUDPWrapper) Write(p []byte) error
type ClientHubWSWrapper ¶
func (ClientHubWSWrapper) Close ¶
func (c ClientHubWSWrapper) Close() error
func (ClientHubWSWrapper) Write ¶
func (c ClientHubWSWrapper) Write(p []byte) error
type ClosedMessage ¶
type ClosedMessage struct {
Session string
}
type ConnectionOptions ¶
type HostJoinMessage ¶
type Hub ¶
type Hub struct { // Registered clients. Clients map[*Client]bool IdClients map[string]*Client SessionManager *SessionManager // Register requests from the clients. Register chan *Client // Unregister requests from clients. Unregister chan *Client // contains filtered or unexported fields }
Hub maintains the set of active clients and broadcasts messages to the clients.
type ISocket ¶
type ISocket interface { SocketHandler() *SocketHandler Connect() Close() SendBinary(messageType int, data []byte) IsConnected() bool }
func NewKcpSocket ¶
type KcpSocket ¶
func (KcpSocket) IsConnected ¶
func (KcpSocket) SendBinary ¶
func (KcpSocket) SocketHandler ¶
func (socket KcpSocket) SocketHandler() *SocketHandler
type LeavingMessage ¶
type LeavingMessage struct {
Id string
}
type MembersMessage ¶
type MembersMessage struct {
Session string
}
type MembersMessageResponse ¶
type RegisteredMessage ¶
type RegisteredMessage struct {
Id string
}
type Session ¶
func NewSession ¶
type SessionManager ¶
type SessionManager struct { Sessions map[string]*Session // contains filtered or unexported fields }
func NewSessionManager ¶
func NewSessionManager(h *Hub) *SessionManager
func (*SessionManager) CloseSession ¶
func (sessionManager *SessionManager) CloseSession(targetSession string)
func (*SessionManager) Host ¶
func (sessionManager *SessionManager) Host(message *HostJoinMessage, reply *string) error
func (*SessionManager) Join ¶
func (sessionManager *SessionManager) Join(message *HostJoinMessage, reply *string) error
func (*SessionManager) LeaveSession ¶
func (sessionManager *SessionManager) LeaveSession(targetParticipantId string, targetSession string)
func (*SessionManager) Members ¶
func (sessionManager *SessionManager) Members(message *MembersMessage, reply *MembersMessageResponse) error
type SessionMessage ¶
type Socket ¶
func (Socket) EnableLogging ¶
func (socket Socket) EnableLogging()
func (Socket) IsConnected ¶
func (Socket) SendBinary ¶
func (Socket) SocketHandler ¶
func (socket Socket) SocketHandler() *SocketHandler
type SocketHandler ¶
type SocketHandler struct { OnConnected func(socket interface{}) OnTextMessage func(message string, socket interface{}) OnBinaryMessage func(data []byte, socket interface{}) OnConnectError func(err error, socket interface{}) OnDisconnected func(err error, socket interface{}) OnPingReceived func(data string, socket interface{}) OnPongReceived func(data string, socket interface{}) }
Click to show internal directories.
Click to hide internal directories.