我使用http-kit
服务器有一个很好的小WebSocket应用程序,我对自己感觉很好。现在我想在我的应用程序中添加不同的“房间”(其列表应该是动态的),但我很难找到任何文档或示例项目。我并不害怕自己的解决方案,但依靠别人的经验很好。有谁知道类似实现的任何例子?
我可以想到两种方法:
1)我可以将“房间”与频道一起保持在状态,然后仅send!
到与该房间相关的频道。似乎是最简单的方法,但每次我播放消息时,我都会过滤每个附加的频道。
2)每次打开新房间时我都可以建立一个新的套接字端点,然后将新URL发送回前端(如果房间已经打开则发送现有的URL),然后放弃旧的套接字并打开一个新的URL到新的URL。构建新端点的一些开销,但随后我可以广播到订阅它的每个频道。
还有其他想法或意见吗?我对使用WebSockets和Clojure进行编程仍然很陌生,所以我觉得可能有更好的方法。
答案 0 :(得分:1)
你的两个解决方案都完全没问题,但是通过在状态中维护一个aditional地图可以略微提高#1,这样你就可以了