gate

package
v0.0.0-...-ab943b8 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	SOCKET_MODE    = "1"
	WEBSOCKET_MODE = "2"
)
View Source
const (
	MESSAGE_LENGTH int32 = 4 // 消息长度
)

Variables

View Source
var (
	ErrServer = errors.New("server error, please check error log") //服务端错误,需要查看错误日志
	ErrClient = errors.New("client error, please check warn log")  //客户端逻辑异常
)

Functions

func Bind

func Bind(id int32, handle string, action string, service kada.IService)

Bind 绑定控制器

func Call

func Call(sid string, head int32, data []byte)

Call 请求控制器

func Depack

func Depack(sid string, buffer []byte) []byte

Depack 解包

func Enpack

func Enpack(head int32, data []byte) []byte

Enpack 封包

func Send

func Send(sid string, pid int32, data []byte) error

Send 发送数据

func SendAll

func SendAll(pid int32, data []byte) error

SendAll 发送数据全体

func Startup

func Startup() error

Startup 启动服务

Types

type ControlHandler

type ControlHandler struct {
	Handle  string
	Action  string
	Service *kada.IService
}

type GateMessage

type GateMessage struct {
	Sid  string
	Head int32
	Data []byte
}

type GateRequest

type GateRequest struct {
	HOST string `json:"host"`
	PORT string `json:"port"`
}

type GateResponse

type GateResponse struct {
	Code uint8  `json:"code"`
	Msg  string `json:"msg"`
}

type IServer

type IServer interface {
	Startup() error
	Send(string, int32, []byte) error
	SendAll(int32, []byte) error
}

type Server

type Server struct {
	Sessions map[string]Session
	Locker   sync.Mutex
}

Server TCP服务,监听客户端连接和收发消息

func (*Server) Handle

func (o *Server) Handle(session Session)

Handle 处理连接

func (*Server) Listen

func (o *Server) Listen(listener net.Listener)

Listen 监听客户端连接

func (*Server) Send

func (o *Server) Send(sid string, pid int32, data []byte) error

Send 发送数据

func (*Server) SendAll

func (o *Server) SendAll(pid int32, data []byte) error

SendAll 发送数据全体

func (*Server) Startup

func (o *Server) Startup() error

Startup 启动服务,监听端口

type Session

type Session struct {
	Id     string
	Chan   chan []byte
	Conn   net.Conn
	WSConn *websocket.Conn
}

type WServer

type WServer struct {
	Sessions map[string]Session
}

WServer WebSocket服务端实现

func (*WServer) Handle

func (o *WServer) Handle(ws *websocket.Conn)

func (*WServer) Send

func (o *WServer) Send(sid string, pid int32, data []byte) error

Send 发送数据

func (*WServer) SendAll

func (o *WServer) SendAll(pid int32, data []byte) error

SendAll 发送数据全体

func (*WServer) Startup

func (o *WServer) Startup() error

Startup 启动服务,监听端口

type WebSocektMessage

type WebSocektMessage func(string, string)

type WebSocket

type WebSocket struct {
	Sessions       map[string]Session
	BinaryHandler  WebSocketBinary
	MessageHandler WebSocektMessage
}

WebSocket

func NewWebSocket

func NewWebSocket() *WebSocket

func (*WebSocket) Connect

func (o *WebSocket) Connect(port string, path string)

func (*WebSocket) Handler

func (o *WebSocket) Handler(ws *websocket.Conn)

func (*WebSocket) OnBinary

func (o *WebSocket) OnBinary(handler WebSocketBinary)

func (*WebSocket) OnMessage

func (o *WebSocket) OnMessage(handler WebSocektMessage)

func (*WebSocket) Send

func (o *WebSocket) Send(sid string, data []byte) error

type WebSocketBinary

type WebSocketBinary func(string, []byte)

Jump to

Keyboard shortcuts

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