Commit f9a37051 authored by haoyanbin's avatar haoyanbin

1

parent be273959
......@@ -309,7 +309,7 @@ Loop:
//关闭写入io对象
if err := w.Close(); err != nil {
c.onError(errors.New("连接ID:" + c.Id + "关闭写入IO对象出错,连接中断" + err.Error()))
c.onError(errors.New("连接ID:" + c.User + "关闭写入IO对象出错,连接中断" + err.Error()))
goto Loop1
}
case p, ok := <-c.sendPing: //定时发送ping
......@@ -320,7 +320,7 @@ Loop:
c.conn.SetWriteDeadline(time.Now().Add(writeWait))
if err := c.conn.WriteMessage(websocket.PingMessage, nil); err != nil {
fmt.Println(err)
c.onError(errors.New("连接ID:" + c.Id + "关闭写入IO对象出错,连接中断" + err.Error()))
c.onError(errors.New("连接ID:" + c.User + "关闭写入IO对象出错,连接中断" + err.Error()))
goto Loop1
}
}
......
......@@ -92,7 +92,7 @@ func (c *Client) OpenClient(w http.ResponseWriter, r *http.Request, head http.He
c.closeTicker = time.NewTimer(closeWait)
c.conn.SetPongHandler(func(str string) error {
c.conn.SetReadDeadline(time.Now().Add(pongWait))
fmt.Println("收到pong---", c.Id, str)
fmt.Println("收到pong---", c.User, str)
c.pingPeriodTicker.Reset(pingPeriod)
c.onPong()
return nil
......@@ -101,7 +101,7 @@ func (c *Client) OpenClient(w http.ResponseWriter, r *http.Request, head http.He
c.conn.SetPingHandler(func(str string) error {
c.conn.SetReadDeadline(time.Now().Add(pongWait))
c.pingPeriodTicker.Reset(pingPeriod)
fmt.Println("收到ping---", c.Id, str)
fmt.Println("收到ping---", c.User, str)
c.recvPing <- 1
//if err := c.conn.WriteMessage(websocket.PongMessage, nil); err != nil {
// c.onError(errors.New("回复客户端PongMessage出现异常:"+err.Error()))
......@@ -112,7 +112,7 @@ func (c *Client) OpenClient(w http.ResponseWriter, r *http.Request, head http.He
c.conn.SetCloseHandler(func(code int, str string) error {
//收到客户端连接关闭时的回调
fmt.Println("连接ID:"+c.Id, "SetCloseHandler接收到连接关闭状态:", code, "关闭信息:", str)
fmt.Println("连接ID:"+c.User, "SetCloseHandler接收到连接关闭状态:", code, "关闭信息:", str)
return nil
})
......@@ -268,6 +268,23 @@ func Send(msg *SendMsg) error {
}
}
if msg.FromClientId != "" {
userInfoSelf, _ := GetClientInfo(msg.FromClientId)
cListSelf := wsSever.hub.clients[userInfoSelf.ClientId]
for _, c := range cListSelf {
if c != nil {
if c.User != userInfoSelf.User {
err := c.Send(msg)
if err != nil {
return errors.New("发送消息出错:" + err.Error() + ",连接对象id=" + c.User + "。")
}
}
} else {
fmt.Println(2)
}
}
}
return nil
}
......
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