diff --git a/g/net/gtcp/gtcp_pool.go b/g/net/gtcp/gtcp_pool.go index 6393c15eb..006c50fb0 100644 --- a/g/net/gtcp/gtcp_pool.go +++ b/g/net/gtcp/gtcp_pool.go @@ -75,10 +75,10 @@ func (c *PoolConn) Close() error { // 发送数据 func (c *PoolConn) Send(data []byte, retry...Retry) error { var err error - if err = c.Send(data, retry...); err != nil && c.status == gCONN_STATUS_UNKNOWN { + if err = c.Conn.Send(data, retry...); err != nil && c.status == gCONN_STATUS_UNKNOWN { if v, e := c.pool.NewFunc(); e == nil { c.Conn = v.(*PoolConn).Conn - err = c.Send(data, retry...) + err = c.Conn.Send(data, retry...) } else { err = e } @@ -93,7 +93,7 @@ func (c *PoolConn) Send(data []byte, retry...Retry) error { // 接收数据 func (c *PoolConn) Receive(length int, retry...Retry) ([]byte, error) { - data, err := c.Receive(length, retry...) + data, err := c.Conn.Receive(length, retry...) if err != nil { c.status = gCONN_STATUS_ERROR } else { diff --git a/geg/net/gtcp/gtcp_pool1.go b/geg/net/gtcp/gtcp_pool1.go index 2166da4cf..34c4ad804 100644 --- a/geg/net/gtcp/gtcp_pool1.go +++ b/geg/net/gtcp/gtcp_pool1.go @@ -15,12 +15,15 @@ func main() { c := gtcp.NewConnByNetConn(conn) defer c.Close() for { - if data, _ := c.Receive(-1); len(data) > 0 { + data, err := c.Receive(-1) + if len(data) > 0 { if err := c.Send(append([]byte("> "), data...)); err != nil { - fmt.Println(err) + fmt.Println(err) } } - // return + if err != nil { + break + } } }).Run() diff --git a/geg/net/gtcp/gtcp_pool2.go b/geg/net/gtcp/gtcp_pool2.go index e039cece7..d25206e60 100644 --- a/geg/net/gtcp/gtcp_pool2.go +++ b/geg/net/gtcp/gtcp_pool2.go @@ -15,11 +15,15 @@ func main() { c := gtcp.NewConnByNetConn(conn) defer c.Close() for { - if data, _ := c.Receive(-1); len(data) > 0 { + data, err := c.Receive(-1) + if len(data) > 0 { if err := c.Send(append([]byte("> "), data...)); err != nil { fmt.Println(err) } } + if err != nil { + break + } return } }).Run()