Blame examples/EchoClient.hs
|
Packit |
090c59 |
-- Echo client program
|
|
Packit |
090c59 |
module Main where
|
|
Packit |
090c59 |
|
|
Packit |
090c59 |
import Network.Socket hiding (recv)
|
|
Packit |
090c59 |
import Network.Socket.ByteString (recv, sendAll)
|
|
Packit |
090c59 |
import qualified Data.ByteString.Char8 as C
|
|
Packit |
090c59 |
|
|
Packit |
090c59 |
main :: IO ()
|
|
Packit |
090c59 |
main = withSocketsDo $
|
|
Packit |
090c59 |
do addrinfos <- getAddrInfo Nothing (Just "") (Just "3000")
|
|
Packit |
090c59 |
let serveraddr = head addrinfos
|
|
Packit |
090c59 |
sock <- socket (addrFamily serveraddr) Stream defaultProtocol
|
|
Packit |
090c59 |
connect sock (addrAddress serveraddr)
|
|
Packit |
090c59 |
sendAll sock $ C.pack "Hello, world!"
|
|
Packit |
090c59 |
msg <- recv sock 1024
|
|
Packit |
090c59 |
close sock
|
|
Packit |
090c59 |
putStr "Received "
|
|
Packit |
090c59 |
C.putStrLn msg
|