dsideal2015 2018-03-11 15:39
浏览 188

获取Websocket会话

My idea is as follows.

When connection from client-side (browser) is requested, server generates random token on websocket upgrade request and sends it via HTTP Set-Cookie header. Then, client authenticates via Challenge-Response authentication over websocket connection. On successful auth, server saves previously generated token in database for user. token cookie is needed to restore session, when user re-initiates websocket connection.

My question is, how can I temporarily store token on memory per connection (per user), so that I can access it later and save in database for that user? (sort of "request context").

  • 写回答

1条回答 默认 最新

  • doulu8847 2018-03-19 15:53
    关注

    you could do something like this

    // initialize an empty map
    var Clients = make(map[*websocket.Conn]bool)
    

    and then add the connection or token to the map like this

    // upgrade connection to websocket and add it to the map
    conn, err := upgrader.Upgrade(w, r, nil)
    if err != nil {
        fmt.Println(err)
        return
    }
    Clients[conn] = true
    
    评论

报告相同问题?

悬赏问题

  • ¥15 计算二重积分∫∫e^(x+y)dxdy,其中0≤x≤1,0≤y≤1,试分别用复合辛普森公式(取n=4)以及高斯求积公式(取n=4)计算积分 给出matlab程序
  • ¥15 opencv 无法读取视频
  • ¥15 用matlab 实现通信仿真
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))
  • ¥20 5037端口被adb自己占了
  • ¥15 python:excel数据写入多个对应word文档
  • ¥60 全一数分解素因子和素数循环节位数
  • ¥15 ffmpeg如何安装到虚拟环境
  • ¥188 寻找能做王者评分提取的