0
我想限制连接到websocket服务器。即为1.新客户踢出老客户。限制连接到服务器
这有点代表我想要做的事情。采取messages
中的内容并通过websocket发送。如果另一个客户端连接或浏览器刷新(应该关闭旧连接,但由于某种原因),突然有2个连接,并且只有每个第二个消息在新客户端收到。
我为此使用快照框架。
createServer = forkIO $ httpServe defaultConfig app
app = route [("/", runWebSocketsSnap handler)]
handler pending = do
connection <- acceptRequest pending
loop connection
loop connection = do
msg <- takeMVar messages
sendTextData connection msg
{-# NOINLINE messages #-}
messages = unsafePerformIO newEmptyMVar
sendMessage = putMVar messages