[Haskell-beginners] Haskell network sample

yang.zhao hckjsnzf at gmail.com
Wed May 21 05:42:52 UTC 2014


hi guys,
I'm newbie, just begin to learn Haskell.
now i write a very simple server and client .

Server:
import Control.Concurrent
import System.IO
import Network

port :: Int
port = 1234

main :: IO ()
main = withSocketsDo $ do
    s <- listenOn $ PortNumber $ fromIntegral port
    (h, _, _) <- accept s

    sline <- hGetLine h
    hPutStrLn h sline
    putStrLn $ "send "++sline
    threadDelay 1000000

    hClose h
    sClose s

Client :
import System.IO
import Network

port :: Int
port = 1234

main :: IO ()
main = withSocketsDo $ do
    h <- connectTo "localhost" $ PortNumber $ fromIntegral port
    hPutStrLn h "hello"
    bs <- hGetContents h
    putStrLn bs
    hClose h


And, it doesn't work now . I run ./serv , then run ./cli , they will block
all the time.
but,  when i run ./serv, and telnet localhost 1234 in another terminal, it
works fine.
so i don't know what's the wrong with my code.
anybody can tell me about my problem?

os is Debian 7,  haskell-platform  2012.2.0.0

thanks a lot!!!
-- 
K.I.S.S.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20140521/8eeb30be/attachment-0001.html>


More information about the Beginners mailing list