https://github.com/socketio/engine.io
https://github.com/socketio/socket.io-redis-adapter
https://github.com/socketio/socket.io-client
https://github.com/Terry-Mao/goim
我们经常使用websocket进行im等相关的开发,为了维护长连接和我们的真实对象之间的关系,长连接是有状态的,我们需要存储连接和对应实体对象之间的关联关系需要借助redis的hashset,一般在客户端存储长连接id,在server端通过redis的zset来维护长连接的存活周期,如果超出存活周期,则踢出长连接。另外我们消息的广播,经常需要借助redis的pub sub