package cpn import ( "net" "one.com/nnet" ) type TcpClient struct { *Hub addr string } func NewTcpClient(cf *nnet.HubConfig, cb nnet.ISessionCallback, p nnet.IProtocol) *TcpClient { return &TcpClient{ Hub: newHub(cf, cb, p), } } func (self *TcpClient) Start() error { return nil } func (self *TcpClient) NewConnection(addr string, id uint64) error { tcpAddr, err := net.ResolveTCPAddr("tcp", addr) if err != nil { return err } conn, err := net.DialTCP("tcp", nil, tcpAddr) if err != nil { return err } self.wg.Add(1) go func() { ses := newSession(TcpConn{conn}, self) ses.UpdateId(id) ses.Do() self.wg.Done() }() return nil } func (self *TcpClient) DoJob(int) { } func (self *TcpClient) Stop() error { close(self.chQuit) self.wg.Wait() return nil }