Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
401 views
in Technique[技术] by (71.8m points)

长连接如何同步监听回复

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
...