怎么把netty的链接通道存储到redis中这样后续可以通过key取出channel给客户端发消息

qq_37346526 2017-01-16 08:49:18
怎么把netty的链接通道存储到redis中这样后续可以通过key取出channel给客户端发消息
...全文
1831 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
自成E家 2017-03-02
  • 打赏
  • 举报
回复
请问最终是怎么解决的这个问题?
qq_37346526 2017-01-17
  • 打赏
  • 举报
回复
引用 4 楼 tianfang 的回复:
你还需要接入服务器之间的通讯,用户1连接到服务器A,服务器B要给用户1发消息,必须先发给服务器A才能发出 代码可以参考openfire的接入服务器模块,或tigase的代码
好的谢谢了,基本就是这个场景,我找找这个资料
qq_37346526 2017-01-16
  • 打赏
  • 举报
回复
引用 1 楼 tianfang 的回复:
客户名称 作为key,hostname(多服务器)+服务ID(单机上多服务进程)+channelID +接入时间 作为value 连接时候写入redis,断开时候清除,加一个定时清除的小服务
请问这个hostname(多服务器)+服务ID(单机上多服务进程)+channelID +接入时间 作为value 存进去了取出来的时候怎么拿到channel呢,是多台机器,这种能直接比如客户名称作为key channel作为value不管是那台机器取出来直接就能用这样?
tianfang 2017-01-16
  • 打赏
  • 举报
回复
你还需要接入服务器之间的通讯,用户1连接到服务器A,服务器B要给用户1发消息,必须先发给服务器A才能发出 代码可以参考openfire的接入服务器模块,或tigase的代码
tianfang 2017-01-16
  • 打赏
  • 举报
回复
引用 2 楼 qq_37346526 的回复:
[quote=引用 1 楼 tianfang 的回复:] 客户名称 作为key,hostname(多服务器)+服务ID(单机上多服务进程)+channelID +接入时间 作为value 连接时候写入redis,断开时候清除,加一个定时清除的小服务
请问这个hostname(多服务器)+服务ID(单机上多服务进程)+channelID +接入时间 作为value 存进去了取出来的时候怎么拿到channel呢,是多台机器,这种能直接比如客户名称作为key channel作为value不管是那台机器取出来直接就能用这样?[/quote] 使用ket(客户名称)取出啊,hostname(多服务器)+服务ID(单机上多服务进程)+channelID +接入时间 可以拼字符串,也可以用个类来保存。channelID只有本机且本服务进程才有效,其他服务器是无用的
tianfang 2017-01-16
  • 打赏
  • 举报
回复
客户名称 作为key,hostname(多服务器)+服务ID(单机上多服务进程)+channelID +接入时间 作为value 连接时候写入redis,断开时候清除,加一个定时清除的小服务

50,526

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧