Skip to content

Instantly share code, notes, and snippets.

@thelff
Created March 10, 2012 05:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save thelff/2010354 to your computer and use it in GitHub Desktop.
Save thelff/2010354 to your computer and use it in GitHub Desktop.
network-conduit on windows expected "END serverSrc clientSink"
{-# OPTIONS -Wall #-}
import Data.Conduit
import Data.Conduit.Network
import Control.Monad.IO.Class (liftIO)
import Control.Concurrent.Lifted (fork)
import Network (withSocketsDo)
main::IO ()
main =
liftIO $ withSocketsDo $ runTCPClient (ClientSettings 5000 "127.0.0.1") $ \serverSrc serverSink -> do
liftIO $ withSocketsDo $ runTCPServer (ServerSettings 5002 (Just "127.0.0.1")) $ \clientSrc clientSink -> do
_ <- liftIO $ fork $ do
liftIO $ putStrLn "START serverSrc clientSink"
runResourceT $ do
serverSrc $$ clientSink
liftIO $ putStrLn "END serverSrc clientSink"
liftIO $ putStrLn "START clientSrc serverSink"
clientSrc $$ serverSink
liftIO $ putStrLn "END clientSrc serverSink"
{-
C:\haskell>netproxy4
START clientSrc serverSink
START serverSrc clientSink
END clientSrc serverSink
START serverSrc clientSink
START clientSrc serverSink
END clientSrc serverSink
-}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment