我有一个运行中的Netty WebSocket服务器,连接着各种本地JavaScript客户端。现在,我想做的是从客户端获取数据请求,并根据每个客户端请求发送数据回去。有一个A类需要异步地连续发送数据(即不是简单的请求回复模型)到客户端,但问题是:在A类中,我拥有所有需要发送的数据,但如何确定哪些数据应该发送给哪个客户端(必须根据客户端请求),即如何将客户端请求、从A类中发送的数据以及从A类中发送数据所需的通道进行映射(我将所有通道存储在共享的ChannelGroup中)。
你可以试试这个方法。
创建一个DefaultChannelGroup: DefaultChannelGroup myChannels = new DefaultChannelGroup("myChannels")
当WebSocket连接建立时,将其添加到通道组中: myChannels.add()
将通道ID和请求ID添加到哈希表中
当您有要写入的数据时,假设您有请求ID。使用它在哈希表中查找通道ID
然后从通道组获取通道: myCahnnels.find(channelId)
最后,将数据写入通道。
希望这有所帮助。