- 论坛徽章:
- 0
|
谢谢
main = do
putStrLn "Start Server!"
mainserver
mainserver = withSocketsDo $ do
sock <- socket AF_INET Stream 6
bindSocket sock (SockAddrInet 30000 iNADDR_ANY)
listen sock 10
putStrLn "Server Listening port 30000 ..."
loopserver sock
loopserver sock = do
(s,c) <- accept sock
forkIO $ clientloop s c
loopserver sock
clientloop s c = do
msg <- recvFrom s 1024
print msg
sendTo s "I'm Servern" c
clientloop s c |
这种模式, 应该是阻塞方式, 多个client连接server, server处理完一个client发的数据,再处理下一个client发的数据.
在haskell 里面有没有非阻塞方式, 或者 同步, 异步? 消息模型, 找了一下, 没有找到. |
|