美文网首页
Express4.x + Websocket(ws) + Ses

Express4.x + Websocket(ws) + Ses

作者: 苹果农 | 来源:发表于2016-06-23 10:43 被阅读0次

    笔记内容:  

    express 服务器,搭载websocket服务器(用ws作为框架)并和 express 共享session。

    session 用redis 进行管理。

    #Part 1  配置 redis

    1. 安装库:

    "express-session":"1.13.0",

    "cookie-parser":"1.4.3",

    "connect-redis-sessions":"1.2.0"

    2. 撸码:

    app.js 中 代码:

    备注:

    1.很多网上资料,db 为一个字符串,应该是错的(或者我太弱,不懂能弄成字符串)。

    redis 分库,是数字,默认是16个(0-15),我被这个坑了一下午😢

    2. session 的 cookie 的配置, secure 如果弄成 true, 会导致 redisStrore 和 express cookie 不一致. 至于为什么,怎么处理,就不懂了 


    #part 2    http 请求中在cookie 写入 session ID 

    将sessionID 写入 cookie 让part3中的 ws服务器使用


    #part 3   WebSocket 服务器

    1. 安装库:

    "ws":"^1.1.0",

    2.撸码(自己写的WSServer.js 文件):

    WSServer.js

    简单说明:获取 cookie中的sessionID( 由part 2 写入的) 然后从 sessionStore 中获取对应的session.

    备注:网上的很多例子,都是用express3.x 写的,所以,他们的cookieParser不一样。

    注意,cookieParser = require('cookie-parser')(); 

    后面还有个 括号。

    3. 启动WSServer

    在 bin/www 中 加入

    启动WSServer

    最后注意下,web 浏览器的地址,都要写成127.0.0.1:3000 ,如果 有的写127.0.0.1:300 ,有的写 localhost:3000 , cookie 就会取不到了。(这个是我这种新手才会犯的错误)

    相关文章

      网友评论

          本文标题:Express4.x + Websocket(ws) + Ses

          本文链接:https://www.haomeiwen.com/subject/tybndttx.html