packages feed

FM-SBLEX-3.0: src/lib/Net.hs

module Net where

import Network
import IO

server :: Int -> (String -> String) -> IO()
server n f =  withSocketsDo $ 
    do s <- listenOn (PortNumber n')
       runServer s f
 where n' = fromInteger $ toInteger n

runServer :: Socket -> (String -> String) -> IO ()
runServer s f = do 
  (h,_,_) <- accept s
  hSetBuffering h LineBuffering
  hGetLine h >>= \str -> hPutStrLn h (f str)
  runServer s f