haskell实现多线程服务器实例代码
来源:
中文源码网 浏览:197 次 日期:2024-05-14 12:54:58
【下载文档: haskell实现多线程服务器实例代码.txt 】
haskell实现多线程服务器实例代码
复制代码 代码如下:module Main where
import Network.Socketimport Control.Concurrent
main :: IO ()main = do sock <- socket AF_INET Stream 0 bindSocket sock (SockAddrInet 4242 iNADDR_ANY) listen sock 10240 mainLoop sock
mainLoop :: Socket -> IO ()mainLoop sock = do conn <- accept sock forkIO $ runConn conn mainLoop sock
runConn :: (Socket, SockAddr) -> IO ()runConn (sock, tcp) = do sms<-recv sock 1024 peeraddr <- getPeerName sock putStrLn sms runConn (sock, tcp)