Ticket #42: socket005.hs

File socket005.hs, 0.5 kB (added by igloo, 2 years ago)
Line 
1{- server
2
3Server as net001 but for Unix Domain Datagram sockets.
4
5TESTS:
6    socket
7    bindSocket
8    readSocket
9
10-}
11
12
13module Main where
14
15import SocketPrim
16
17
18main =
19    socket AF_UNIX Datagram 0                   >>= \ s ->
20    bindSocket s (SockAddrUnix "sock")          >>
21
22    let 
23      loop =
24        putStr "*** Start of Transfer ***\n"    >>
25        let 
26          read_all =
27            readSocket s 1024                   >>= \ (str, nbytes) ->
28            if nbytes /= 0 then
29                putStr str                      >>
30                read_all
31            else
32                putStr "\n*** End of Transfer ***\n"
33        in
34            read_all   
35    in
36        loop