From 7c3a665bfa5ab607312f06c64027899b61a8c1c7 Mon Sep 17 00:00:00 2001 From: John Date: Wed, 18 Jul 2018 12:39:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dgtcp=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?=E6=B1=A0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- g/net/gtcp/gtcp_pool.go | 6 +++--- geg/net/gtcp/gtcp_pool1.go | 9 ++++++--- geg/net/gtcp/gtcp_pool2.go | 6 +++++- 3 files changed, 14 insertions(+), 7 deletions(-) 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()