Documentation
¶
Index ¶
- Constants
- Variables
- type CallBack
- type CreateTopicArg
- type CreateTopicRet
- type DestoryTopicArg
- type DestoryTopicRet
- type ErrCode
- type GetTopicOwnerArg
- type GetTopicOwnerRet
- type IsTopicMemberArg
- type IsTopicMemberRet
- type JoinTopicArg
- type JoinTopicRet
- type LeaveTopicArg
- type LeaveTopicRet
- type Proto
- type PushArg
- type PushRet
- type RpcService
- type SendTopicArg
- type SendTopicRet
- type SetCallbackArg
- type SetCallbackRet
Constants ¶
View Source
const ( // 1000:表示正常关闭,意味着连接建立的目的已完成。 CloseNormalClosure = websocket.CloseNormalClosure // 系统定义 // 1001:表示终端离开,例如服务器关闭或浏览器导航到其他页面。 CloseGoingAway = websocket.CloseGoingAway // 1002:表示终端因为协议错误而关闭连接。 CloseProtocolError = websocket.CloseProtocolError // 1003:表示终端因为接收到不能接受的数据而关闭(例如,只明白文本数据的终端可能发送这个,如果它接收到二进制消息)。 CloseUnsupportedData = websocket.CloseUnsupportedData ///////////////////// // 以下状态码需要重试(1004-4000) // ////////////////// // 1005:保留。且终端必须不在控制帧里设置作为状态码。它是指定给应用程序而非作为状态码 使用的,用来指示没有状态码出现。 CloseNoStatusReceived = websocket.CloseNoStatusReceived // 1006:同上。保留。且终端必须不在控制帧里设置作为状态码。它是指定给应用程序而非作为状态码使用的,用来指示连接非正常关闭,例如,没有发生或接收到关闭帧。 CloseAbnormalClosure = websocket.CloseAbnormalClosure // 1007:表示终端因为接收到的数据没有消息类型而关闭连接。 CloseInvalidFramePayloadData = websocket.CloseInvalidFramePayloadData // 1008:表示终端因为接收到的消息背离它的政策而关闭连接。这是一个通用的状态码,用在没有更合适的状态码或需要隐藏具体的政策细节时。 ClosePolicyViolation = websocket.ClosePolicyViolation // 1009:表示终端因为接收到的消息太大以至于不能处理而关闭连接。 CloseMessageTooBig = websocket.CloseMessageTooBig // 1010:表示客户端因为想和服务器协商一个或多个扩展,而服务器不在响应消息返回它(扩展)而关闭连接。需要的扩展列表应该出现在关闭帧的/reason/部分。注意,这个状态码不是由服务器使用,因为它会导致WebSocket握手失败。 CloseMandatoryExtension = websocket.CloseMandatoryExtension // 1011:表示服务器因为遇到非预期的情况导致它不能完成请求而关闭连接。 CloseInternalServerErr = websocket.CloseInternalServerErr CloseServiceRestart = websocket.CloseServiceRestart CloseTryAgainLater = websocket.CloseTryAgainLater // 1015:保留,且终端必须不在控制帧里设置作为状态码。它是指定用于应用程序希望用状态码来指示连接因为TLS握手失败而关闭。 CloseTLSHandshake = websocket.CloseTLSHandshake // 以下是对库的错误状态码 // 3000因网络错误而关闭 CloseErrConn = 3000 // 3000网络未打开, 需要重新连接网络 CloseErrState = 3001 // 因长时间没收到ping请求而关闭网络 CloseErrTimeout = 3002 // 以下是业务错误码不需要重试(4000-5000) // 4000因鉴权问题而关闭,需要重新登录服务器,不需进行重试 CloseErrAuth = 4000 )
View Source
const ( CALLBACK_PROTO_HTTP = "http" CALLBACK_PROTO_QUIC = "quic" CALLBACK_PROTO_HTTPS = "https" )
Variables ¶
View Source
var ( // 通用错误 ErrNone = NewErrCode(200, "请求成功") // 以下错误码会触发关闭连接 ErrCloseSys = NewErrCode(CloseInternalServerErr, "系统升级中") ErrCloseAuth = NewErrCode(CloseErrAuth, "您未登录,请登录") ErrCloseReLogin = NewErrCode(CloseErrAuth, "您已在其他地方登录,请重登录") ErrCloseProto = NewErrCode(CloseUnsupportedData, "业务协议不正确") ErrCloseKick = NewErrCode(CloseNormalClosure, "您已被踢下线") ErrSys = NewErrCode(5000, "系统升级中") ErrAppProto = NewErrCode(5001, "协议不正确") ErrLogin = NewErrCode(5101, "用户上线通知") ErrLogout = NewErrCode(5102, "用户下线通知") ErrNotLogin = NewErrCode(5103, "用户不在线") )
View Source
var ( ErrHashMatch = errors.New("hash not match") ErrNoConn = errors.New("connetion not found") )
View Source
var (
RpcName = etc.Etc.String("cmd/wsnode", "rpc_name")
)
Functions ¶
This section is empty.
Types ¶
type CreateTopicArg ¶
type CreateTopicRet ¶
type CreateTopicRet struct { }
func CreateTopic ¶
func CreateTopic(arg *CreateTopicArg) (*CreateTopicRet, error)
type DestoryTopicArg ¶
type DestoryTopicRet ¶
type DestoryTopicRet struct { }
func DestoryTopic ¶
func DestoryTopic(arg *DestoryTopicArg) (*DestoryTopicRet, error)
type GetTopicOwnerArg ¶
type GetTopicOwnerArg struct {
Topic string
}
type GetTopicOwnerRet ¶
type GetTopicOwnerRet struct {
Uid string
}
func GetTopicOwner ¶
func GetTopicOwner(arg *GetTopicOwnerArg) (*GetTopicOwnerRet, error)
type IsTopicMemberArg ¶
type IsTopicMemberRet ¶
type IsTopicMemberRet struct {
IsMember bool
}
func IsTopicMember ¶
func IsTopicMember(arg *IsTopicMemberArg) (*IsTopicMemberRet, error)
type JoinTopicArg ¶
type JoinTopicRet ¶
type JoinTopicRet struct { }
func JoinTopic ¶
func JoinTopic(arg *JoinTopicArg) (*JoinTopicRet, error)
type LeaveTopicArg ¶
type LeaveTopicRet ¶
type LeaveTopicRet struct { }
func LeaveTopic ¶
func LeaveTopic(arg *LeaveTopicArg) (*LeaveTopicRet, error)
type Proto ¶
type Proto struct { Sn string `json:"sn"` Uri string `json:"uri"` Param jsonp.Params `json:"param,omitempty"` }
func NewReqProto ¶
func NewRespProto ¶
func ParseProto ¶
type RpcService ¶
type RpcService interface { // P2P send Push(arg *PushArg, ret *PushRet) error // create a topic CreateTopic(arg *CreateTopicArg, ret *CreateTopicRet) error // desctroy a topic DestoryTopic(arg *DestoryTopicArg, ret *DestoryTopicRet) error // get topic owner GetTopicOwner(arg *GetTopicOwnerArg, ret *GetTopicOwnerRet) error // is topic member IsTopicMember(arg *IsTopicMemberArg, ret *IsTopicMemberRet) error // join a topic JoinTopic(arg *JoinTopicArg, ret *JoinTopicRet) error // leave a topic LeaveTopic(arg *LeaveTopicArg, ret *LeaveTopicRet) error // send message to a topic SendTopic(arg *SendTopicArg, ret *SendTopicRet) error }
Rpc exported method
type SendTopicArg ¶
type SendTopicRet ¶
type SendTopicRet struct { }
func SendTopic ¶
func SendTopic(arg *SendTopicArg) (*SendTopicRet, error)
type SetCallbackArg ¶
type SetCallbackRet ¶
type SetCallbackRet struct { }
func SetCallback ¶
func SetCallback(arg *SetCallbackArg) (*SetCallbackRet, error)
Click to show internal directories.
Click to hide internal directories.