- 論壇徽章:
- 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 |
這種模式, 應(yīng)該是阻塞方式, 多個(gè)client連接server, server處理完一個(gè)client發(fā)的數(shù)據(jù),再處理下一個(gè)client發(fā)的數(shù)據(jù).
在haskell 里面有沒有非阻塞方式, 或者 同步, 異步? 消息模型, 找了一下, 沒有找到. |
|