| 12345678910111213141516171819202122232425262728293031323334353637 |
- package cpn
- import (
- "net"
- "one.com/nnet"
- )
- type TcpClient struct {
- *Hub
- addr string
- }
- func NewTcpClient(cf *nnet.HubConfig, cb nnet.ISessionCallback, p nnet.IProtocol) nnet.IHub {
- return &TcpClient{
- Hub: newHub(cf, cb, p),
- }
- }
- 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
- }
|