GO实现Redis:GO实现TCP服务器(1)

打印 上一主题 下一主题

主题 495|帖子 495|积分 1485

interface/tcp/Handler.go
  1. type Handler interface {
  2.    Handle(ctx context.Context, conn net.Conn)
  3.    Close() error
  4. }
复制代码

  • 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
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

梦见你的名字

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表