mirror of
https://gitee.com/johng/gf
synced 2026-07-08 22:40:30 +08:00
修复gtcp连接池问题
This commit is contained in:
@ -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 {
|
||||
|
||||
@ -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()
|
||||
|
||||
|
||||
@ -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()
|
||||
|
||||
Reference in New Issue
Block a user