2

接続を開いた後、次のようなスニペットがあります

receiveEvents :: WS.Connection -> Document -> IO()
receiveEvents conn document = forever $ do
        putStrLn "receive events"
        evnt <- WS.receiveData conn
        let val = fromJust $ decode' evnt
        liftIO $ atomically $ do
                              writeTChan (eventQueue document) val

イベントがクライアントから送信された場合、このコードは機能しますが、非アクティブな接続が閉じられた後、クライアント (web javascript) 接続が閉じられたときにエラーが発生します (websockets の onclose が呼び出されます)。一定の非アクティブ後に Websocket は閉じますか。また、これがメインスレッドにある場合、正常に動作しますか?

4

0 に答える 0