#######################################server.hs##############################################
{-# LANGUAGE OverloadedStrings #-}
import Data.Conduit.Network
import Data.Conduit.List
import Data.Conduit.Binary as CB
import Data.ByteString as S
import qualified Data.ByteString.Lazy as L
import Data.Conduit as C
import qualified Data.Text as T
import Data.Conduit.Text as CT
setting = ServerSettings 8888 HostIPv4
sendout :: Source IO ByteString -> Sink ByteString IO () -> IO ()
sendout src sink = do
C.yield "世界您好!" $= (CT.encode CT.utf8) $$ sink
main = runTCPServer setting sendout
#######################################client.hs##############################################
import Data.Conduit.Network
import Data.Conduit.Binary as CB
import Data.ByteString as S
import Data.ByteString.Lazy as L
import Data.Conduit
setting = ClientSettings 8888 "127.0.0.1"
printout :: Source IO S.ByteString -> Sink S.ByteString IO () -> IO ()
printout src sink = do
result <- src $$ CB.take 20
L.putStrLn result
main = runTCPClient setting printout
-