当前位置 博文首页 > haskell实现多线程服务器实例代码

    haskell实现多线程服务器实例代码

    作者:admin 时间:2021-02-20 06:05

    复制代码 代码如下:

    module Main where

    import Network.Socket
    import 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)

    js
下一篇:没有了