diff options
| author | Roman Smrž <roman.smrz@seznam.cz> | 2026-07-25 09:28:44 +0200 |
|---|---|---|
| committer | Roman Smrž <roman.smrz@seznam.cz> | 2026-07-25 09:28:44 +0200 |
| commit | 3cf68ac0db0e5f839d3f1dd8f345e44584ed13f7 (patch) | |
| tree | 0dd9c42584eb0a95c0a92b7697a223bd51ba942f /src/WebSocket.hs | |
| parent | 7811d5658c75344dd1787cd821c5c28e2a3dab32 (diff) | |
Diffstat (limited to 'src/WebSocket.hs')
| -rw-r--r-- | src/WebSocket.hs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/WebSocket.hs b/src/WebSocket.hs index 0492c81..4179cfa 100644 --- a/src/WebSocket.hs +++ b/src/WebSocket.hs @@ -1,11 +1,13 @@ module WebSocket ( Connection, startClient, + startDefaultWebSocketConnections, sendMessage, receiveMessage, ) where -import Control.Concurrent.Chan +import Control.Concurrent +import Control.Monad import Data.ByteString (ByteString) import Data.ByteString.Unsafe @@ -70,6 +72,15 @@ startClient server addr port path fun = do dropPeerAddress server $ CustomPeerAddress conn +startDefaultWebSocketConnections :: Server -> IO () +startDefaultWebSocketConnections server = do + startClient server "a.discovery.erebosprotocol.net" 443 "" $ \conn -> do + void $ forkIO $ forever $ do + msg <- receiveMessage conn + receivedFromCustomAddress server conn msg + void $ serverPeerCustom server conn + + sendMessage :: Connection -> ByteString -> IO () sendMessage Connection {..} bs = do unsafeUseAsCStringLen bs $ \( ptr, len ) -> do |