interface/tcp/Handler.go- type Handler interface {
- Handle(ctx context.Context, conn net.Conn)
- Close() error
- }
复制代码
- Handler:业务逻辑的处理接口
- Handle(ctx context.Context, conn net.Conn) 处理连接
tcp/server.go
[code]type Config struct { Address string}func ListenAndServeWithSignal(cfg *Config, handler tcp.Handler) error { closeChan := make(chan struct{}) listen, err := net.Listen("tcp", cfg.Address) if err != nil { return err } logger.Info("start listen") ListenAndServe(listen, handler, closeChan) return nil}func ListenAndServe(listener net.Listener, handler tcp.Handler, closeChan |