为了账号安全,请及时绑定邮箱和手机立即绑定

以下代码为啥会存在线程安全的问题?

func WsHandle(writer http.ResponseWriter, request *http.Request) {

   var (
      conn        *websocket.Conn
      err         error
      messageType int
      data        []byte
   )
   if conn, err = upgrader.Upgrade(writer, request, nil); err != nil {
      goto ERR
   }
   for {
      fmt.Printf("connection:  %v", conn)
      if messageType, data, err = conn.ReadMessage(); err != nil {
         goto ERR
      }
      switch messageType {

      case websocket.TextMessage:
         fmt.Println(string(data))
         if err = conn.WriteMessage(websocket.TextMessage, data); err != nil {
            goto ERR
         }
         break
      case websocket.BinaryMessage:
         break
      }
   }

ERR:
   conn.Close()
}


正在回答

举报

0/150
提交
取消

以下代码为啥会存在线程安全的问题?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信