长连接如何同步监听回复

本来一个netty开发的tcp长连接服务器
原本业务服务器客户端消息交互都是异步的
现要增加几个同步请求
服务器主动发送请求到客户端并监听其响应,是一个同步过程
客户端在处理服务器主动发送的请求时,其余线程仍在工作,会发送其它消息给服务器
想了一个方案是为同步请求标号,后将标号存在ConcurrentHashMap中,服务器发送请求后while(true)拿map值,直至不为null。客户端拿到带标号的请求后,回复时带上相同的标号,服务器每次解析请求帧时都判断是否有标号,有则将响应填充至map中。
有无更优雅的实现方式?

阅读 2k
1 个回答

观察者模式,监听器模式
只监听事件,由框架去处理while(true)这个条件.自己实现应该很麻烦

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题