socket

package
v0.0.0-...-4e328a4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 26, 2021 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CloseNormalClosure           = 1000 // 正常
	CloseGoingAway               = 1001 // 即将离去
	CloseProtocolError           = 1002 // 协议错误
	CloseUnsupportedData         = 1003 // 不支持的数据
	CloseNoStatusReceived        = 1005 // 无状态
	CloseAbnormalClosure         = 1006 // 异常关闭
	CloseInvalidFramePayloadData = 1007 // 无效的有效数据
	ClosePolicyViolation         = 1008 // 违反规定
	CloseMessageTooBig           = 1009 // 消息太大
	CloseMandatoryExtension      = 1010 // 缺少必需的扩展
	CloseInternalServerErr       = 1011 // 内部服务器错误
	CloseServiceRestart          = 1012 // 服务重启
	CloseTryAgainLater           = 1013 // 稍后重试
	CloseTLSHandshake            = 1015 // TLS握手错误
)

Variables

This section is empty.

Functions

func CloseErr

func CloseErr(err error)

错误处理

func ServeHTTP

func ServeHTTP(rw http.ResponseWriter, r *http.Request)

升级到WebSocket

func Service

func Service(Port string)

Types

type Connection

type Connection struct {
	// contains filtered or unexported fields
}

链接记录器

func (*Connection) Close

func (o *Connection) Close()

关闭连接

type Event

type Event struct{}

func (*Event) OnClose

func (o *Event) OnClose(clientId string)

客户端与服务器进程的连接断开时触发

func (*Event) OnConnect

func (o *Event) OnConnect(clientId string)

当客户端连接上服务器进程时(TCP三次握手完毕时)触发的回调函数。

func (*Event) OnMessage

func (o *Event) OnMessage(clientId string, data []byte)

当客户端发来数据服务器收到数据后触发的回调函数

func (*Event) OnWorkerStart

func (o *Event) OnWorkerStart()

当WebWorker进程启动时触发。每个进程生命周期内都只会触发一次。

func (*Event) OnWorkerStop

func (o *Event) OnWorkerStop()

type IEvent

type IEvent interface {
	OnWorkerStart()                         // WebSocket启动
	OnConnect(clientId string)              // 当客户端连接上服务器进程时(TCP三次握手完毕时)触发的回调函数。
	OnMessage(clientId string, data []byte) // 当客户端发来数据(服务器进程收到数据)后触发的回调函数
	OnClose(clientId string)                // 客户端与服务器进程的连接断开时触发
	OnWorkerStop()                          // 当服务器进程退出时触发
}

type Nil

type Nil struct{}

type WebSocket

type WebSocket struct {
	// contains filtered or unexported fields
}

WebSocket

var Ws WebSocket

func (*WebSocket) BindEvent

func (o *WebSocket) BindEvent(event IEvent)

绑定客户端

func (*WebSocket) BindUid

func (o *WebSocket) BindUid(uid, clientId string) error

绑定用户ID

func (*WebSocket) CloseClient

func (o *WebSocket) CloseClient(clientId string) error

关闭clientId链接

func (*WebSocket) GetAllClientCount

func (o *WebSocket) GetAllClientCount() int

func (*WebSocket) GetAllGroupIdList

func (o *WebSocket) GetAllGroupIdList() []string

获取所有组ID

func (*WebSocket) GetAllUidCount

func (o *WebSocket) GetAllUidCount() int

获取UID总数

func (*WebSocket) GetAllUidList

func (o *WebSocket) GetAllUidList() (uidList []string)

获取所有UID

func (*WebSocket) GetClientIdByUid

func (o *WebSocket) GetClientIdByUid(uid string) (string, error)

根据Uid获取ClientID

func (*WebSocket) GetClientIdCountByGroup

func (o *WebSocket) GetClientIdCountByGroup(groupId string) int

func (*WebSocket) GetClientSessionByGroup

func (o *WebSocket) GetClientSessionByGroup(event IEvent)

func (*WebSocket) GetSession

func (o *WebSocket) GetSession(uid string) (interface{}, error)

func (*WebSocket) GetUidByClientId

func (o *WebSocket) GetUidByClientId(clientId string) string

func (*WebSocket) Init

func (o *WebSocket) Init()

func (*WebSocket) IsOnline

func (o *WebSocket) IsOnline(clientId string) bool

是否在线

func (*WebSocket) IsUidOnline

func (o *WebSocket) IsUidOnline(uid string) bool

用户ID是否在线

func (*WebSocket) JoinGroup

func (o *WebSocket) JoinGroup(groupId, clientId string) error

func (*WebSocket) LeaveGroup

func (o *WebSocket) LeaveGroup(clientId, groupId string) error

func (*WebSocket) SendToAll

func (o *WebSocket) SendToAll(data *WsMessage)

发送给所有人

func (*WebSocket) SendToClient

func (o *WebSocket) SendToClient(clientId string, data *WsMessage) error

发送消息到clientId

func (*WebSocket) SendToGroup

func (o *WebSocket) SendToGroup(data *WsMessage, groupId string) error

func (*WebSocket) SendToUid

func (o *WebSocket) SendToUid(uid string, data *WsMessage) error

func (*WebSocket) ServeHTTP

func (o *WebSocket) ServeHTTP(w http.ResponseWriter, r *http.Request)

func (*WebSocket) SetSession

func (o *WebSocket) SetSession(uid string, data interface{}) error

func (*WebSocket) UnBindUid

func (o *WebSocket) UnBindUid(uid string)

解除绑定用户ID

func (*WebSocket) UnGroup

func (o *WebSocket) UnGroup(groupId string)

func (*WebSocket) UpdateSession

func (o *WebSocket) UpdateSession(event IEvent)

func (*WebSocket) Upgrade

func (o *WebSocket) Upgrade(w http.ResponseWriter, r *http.Request)

type WsMessage

type WsMessage struct {
	Type    int    // 协议
	Message []byte //消息体
}

消息体

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL