1
This commit is contained in:
@@ -3,6 +3,7 @@ package event
|
|||||||
import (
|
import (
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
@@ -30,14 +31,19 @@ func ListenTcp() {
|
|||||||
fmt.Println("accept error:", err)
|
fmt.Println("accept error:", err)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
go t.handleConn(c)
|
go func() {
|
||||||
|
if err := t.handleConn(c); err != nil {
|
||||||
|
t = nil
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *TcpClient) handleConn(c net.Conn) {
|
func (t *TcpClient) handleConn(c net.Conn) error {
|
||||||
if c == nil {
|
if c == nil {
|
||||||
globals.SugarLogger.Debugf("conn is nil")
|
globals.SugarLogger.Debugf("conn is nil")
|
||||||
return
|
return errors.New("conn is nil")
|
||||||
}
|
}
|
||||||
defer c.Close()
|
defer c.Close()
|
||||||
for {
|
for {
|
||||||
@@ -52,7 +58,7 @@ func (t *TcpClient) handleConn(c net.Conn) {
|
|||||||
} else {
|
} else {
|
||||||
fmt.Println("ReadString err", err)
|
fmt.Println("ReadString err", err)
|
||||||
}
|
}
|
||||||
return
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
//看是心跳还是打印回调
|
//看是心跳还是打印回调
|
||||||
@@ -63,11 +69,11 @@ func (t *TcpClient) handleConn(c net.Conn) {
|
|||||||
}{}
|
}{}
|
||||||
if err := json.Unmarshal(buffer[0:n], ¶m); err != nil {
|
if err := json.Unmarshal(buffer[0:n], ¶m); err != nil {
|
||||||
c.Write([]byte(err.Error()))
|
c.Write([]byte(err.Error()))
|
||||||
return
|
return err
|
||||||
}
|
}
|
||||||
t.buildMsgMap(param.PrintNoClear.String())
|
t.buildMsgMap(param.PrintNoClear.String())
|
||||||
c.Write([]byte("ok"))
|
c.Write([]byte("ok"))
|
||||||
return
|
return err
|
||||||
}
|
}
|
||||||
//证明是心跳
|
//证明是心跳
|
||||||
if strings.Contains(data, heartText) || strings.Contains(data, heartTextNew) {
|
if strings.Contains(data, heartText) || strings.Contains(data, heartTextNew) {
|
||||||
|
|||||||
@@ -318,12 +318,12 @@ func (t *TcpClient) GetCallbackChan(key string) string {
|
|||||||
func (t *TcpClient) clear(key string) {
|
func (t *TcpClient) clear(key string) {
|
||||||
t.Lock()
|
t.Lock()
|
||||||
defer t.Unlock()
|
defer t.Unlock()
|
||||||
//t.Clients[key].C.Close()
|
t.Clients[key].C.Close()
|
||||||
//delete(t.Clients, key)
|
delete(t.Clients, key)
|
||||||
//close(t.MsgMap[key])
|
close(t.MsgMap[key])
|
||||||
//delete(t.MsgMap, key)
|
delete(t.MsgMap, key)
|
||||||
//close(t.CallBackMap[key])
|
close(t.CallBackMap[key])
|
||||||
//delete(t.CallBackMap, key)
|
delete(t.CallBackMap, key)
|
||||||
delete(t.TimeoutMap, key)
|
delete(t.TimeoutMap, key)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user