Commit 536a02d7 authored by haoyanbin's avatar haoyanbin

1

parent c83313ae
...@@ -191,12 +191,7 @@ Loop: ...@@ -191,12 +191,7 @@ Loop:
c.onError(errors.New("接收数据解析失败!!连接ID:" + c.Id + "原因:" + err.Error())) c.onError(errors.New("接收数据解析失败!!连接ID:" + c.Id + "原因:" + err.Error()))
break Loop break Loop
} }
if msg.ProcedureType == 9 {
c.setPing()
}
if msg.ProcedureType == 10 {
c.setPong()
}
SaveMsg(msg) SaveMsg(msg)
//rabbitMQ.PublishSimple(string(message)) //rabbitMQ.PublishSimple(string(message))
c.readMessage(msg) c.readMessage(msg)
...@@ -318,7 +313,7 @@ Loop: ...@@ -318,7 +313,7 @@ Loop:
} }
if p == 1 { if p == 1 {
c.conn.SetWriteDeadline(time.Now().Add(writeWait)) c.conn.SetWriteDeadline(time.Now().Add(writeWait))
if err := c.conn.WriteMessage(websocket.TextMessage, SerializeJson(&SendMsg{ProcedureType: 9})); err != nil { if err := c.conn.WriteMessage(websocket.PingMessage, nil); err != nil {
fmt.Println(err) fmt.Println(err)
c.onError(errors.New("连接ID:" + c.Id + "关闭写入IO对象出错,连接中断" + err.Error())) c.onError(errors.New("连接ID:" + c.Id + "关闭写入IO对象出错,连接中断" + err.Error()))
goto Loop1 goto Loop1
...@@ -330,7 +325,7 @@ Loop: ...@@ -330,7 +325,7 @@ Loop:
} }
if p == 1 { if p == 1 {
c.conn.SetWriteDeadline(time.Now().Add(writeWait)) c.conn.SetWriteDeadline(time.Now().Add(writeWait))
if err := c.conn.WriteMessage(websocket.TextMessage, SerializeJson(&SendMsg{ProcedureType: 10})); err != nil { if err := c.conn.WriteMessage(websocket.PongMessage, nil); err != nil {
fmt.Println(err) fmt.Println(err)
c.onError(errors.New("回复客户端PongMessage出现异常:" + err.Error())) c.onError(errors.New("回复客户端PongMessage出现异常:" + err.Error()))
goto Loop1 goto Loop1
...@@ -342,24 +337,6 @@ Loop1: ...@@ -342,24 +337,6 @@ Loop1:
c.close() c.close()
} }
func (c *Client) setPong() {
c.conn.SetReadDeadline(time.Now().Add(pongWait))
fmt.Println("收到pong---", c.Id)
c.pingPeriodTicker.Reset(pingPeriod)
c.onPong()
}
func (c *Client) setPing() {
c.conn.SetReadDeadline(time.Now().Add(pongWait))
c.pingPeriodTicker.Reset(pingPeriod)
fmt.Println("收到ping---", c.Id)
c.recvPing <- 1
//if err := c.conn.WriteMessage(websocket.PongMessage, nil); err != nil {
// c.onError(errors.New("回复客户端PongMessage出现异常:"+err.Error()))
//}
c.onPing()
}
func (c *Client) send(msg *SendMsg) { func (c *Client) send(msg *SendMsg) {
timeout := time.NewTimer(time.Millisecond * 800) timeout := time.NewTimer(time.Millisecond * 800)
defer timeout.Stop() defer timeout.Stop()
......
...@@ -85,25 +85,25 @@ func (c *Client) OpenClient(w http.ResponseWriter, r *http.Request, head http.He ...@@ -85,25 +85,25 @@ func (c *Client) OpenClient(w http.ResponseWriter, r *http.Request, head http.He
c.conn.SetReadDeadline(time.Now().Add(pongWait)) c.conn.SetReadDeadline(time.Now().Add(pongWait))
c.pingPeriodTicker = time.NewTimer(pingPeriod) c.pingPeriodTicker = time.NewTimer(pingPeriod)
c.closeTicker = time.NewTimer(closeWait) c.closeTicker = time.NewTimer(closeWait)
//c.conn.SetPongHandler(func(str string) error { c.conn.SetPongHandler(func(str string) error {
// c.conn.SetReadDeadline(time.Now().Add(pongWait)) c.conn.SetReadDeadline(time.Now().Add(pongWait))
// fmt.Println("收到pong---", c.Id, str) fmt.Println("收到pong---", c.Id, str)
// c.pingPeriodTicker.Reset(pingPeriod) c.pingPeriodTicker.Reset(pingPeriod)
// c.onPong() c.onPong()
// return nil return nil
//}) })
//
//c.conn.SetPingHandler(func(str string) error { c.conn.SetPingHandler(func(str string) error {
// c.conn.SetReadDeadline(time.Now().Add(pongWait)) c.conn.SetReadDeadline(time.Now().Add(pongWait))
// c.pingPeriodTicker.Reset(pingPeriod) c.pingPeriodTicker.Reset(pingPeriod)
// fmt.Println("收到ping---", c.Id, str) fmt.Println("收到ping---", c.Id, str)
// c.recvPing <- 1 c.recvPing <- 1
// //if err := c.conn.WriteMessage(websocket.PongMessage, nil); err != nil { //if err := c.conn.WriteMessage(websocket.PongMessage, nil); err != nil {
// // c.onError(errors.New("回复客户端PongMessage出现异常:"+err.Error())) // c.onError(errors.New("回复客户端PongMessage出现异常:"+err.Error()))
// //} //}
// c.onPing() c.onPing()
// return nil return nil
//}) })
c.conn.SetCloseHandler(func(code int, str string) error { c.conn.SetCloseHandler(func(code int, str string) error {
//收到客户端连接关闭时的回调 //收到客户端连接关闭时的回调
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment