zinx学习笔记-1

最简单的Server雏形:

 

 

 ziface中的Iserver接口中有Start,Stop,Serve三个函数。

znet中的server.go中定义来Server结构,实现了ziface的IServer接口;

znet中Server结构实现来IServer的三个函数,主要是Start函数:

其中,在start函数中,调用了ResolveTCPAddr方法来获取终端地址:

func ResolveTCPAddr(network, address string) (*TCPAddr, error) {
 switch network {
 case "tcp", "tcp4", "tcp6":
 case "": // a hint wildcard for Go 1.0 undocumented behavior
 network = "tcp"
 default:
 return nil, UnknownNetworkError(network)
 }
 addrs, err := DefaultResolver.internetAddrList(context.Background(), network, address)
 if err != nil {
 return nil, err
 }
 return addrs.forResolve(network, address).(*TCPAddr), nil
}

  通过ResolveTCPAddr方法获得终端地址后,就可以开始监听了:

listenner,err := net.ListenTCP(s.IPversion,addr)

  

posted @ 2021-04-01 22:01  NewBird001  阅读(172)  评论(0)    收藏  举报