引用:JackJiang 发表于 2017-09-28 10:46 多谢 多谢 |
赞 |
其实我想问的是,你为什么要弄两个列表呢。 你的需求其实可以这样:原先的列表还是那个列表,只是登陆的时候带上来的参数不一样(存到它在服务端的session里),当它的身份转换了之后,你更新这个session里的这个存的字段值内容,这样的话不就不需要改变整个算法框架了,难度要小多了。 至于你怎么用这个列表里的数据,你根据这个字段的值再来区分一下,这样的修改就要优雅多了。 我不清楚你具体要的是什么,但解决问题通常回归到本质就能找到最省事的方法,通常简单的就是最好的。一定不要搞复杂,否则会越来越复杂,直到失控。 |
引用:柳老三 发表于 2017-09-27 22:10 唯一的情况就是服务端的用户列表中没有它,但实际上它的session在MINA这一层还是正常的,极有可能是你错误地删除了。复现这个问题很简单,你就用一个客户端,针对性的测试的你的代码肯定可以复现,并找出问题的。 |
引用:JackJiang 发表于 2017-09-27 21:58 客户端在什么情况会出现 尚未登录的信息? 是 响应包没有收到?还是有其它的判别方式?好像看代码只有这一种情况吧 |
你的逻辑需要优化: 肯定是先放入在线列表后,再删除原来的离线列表。考虑到极端情况下,如果在线列表加入失败,而你离线列表也已被删除,这该怎么办等等。你先删除后加的逻辑是不够健壮的。 |