小编use*_*455的帖子

Haskell:如何使用forkIO使多个客户端连接到服务器?

我正在尝试让多个客户端连接到服务器.我设法做的是通过使用服务器将一个客户端连接到服务器:

main = withSocketsDo $ do 
          socket                 <- listenOn port
          (handle, host, portno) <- accept socket
          hSetBuffering handle LineBuffering
          msg <- hGetLine handle
          putStrLn $ "The client says: " ++ msg
          hClose handle
          sClose socket
          putStrLn "Server is done."
Run Code Online (Sandbox Code Playgroud)

并为客户:

main = withSocketsDo $ do
  handle <- connectTo "localhost" port
  hSetBuffering handle LineBuffering
  hPutStrLn handle "Hello!"
  hClose handle
Run Code Online (Sandbox Code Playgroud)

这些显然仅用于测试目的;)

现在,我已经读过我需要使用forkIO来使多个客户端连接到这个服务器.但是我无法找到如何使用forkIO或如何管理将要连接的多个客户端.有人可以向我解释我应该做些什么吗?

提前致谢!

networking haskell

9
推荐指数
2
解决办法
1660
查看次数

标签 统计

haskell ×1

networking ×1