diff options
Diffstat (limited to 'testsuite/tests/lib/socket/socket008.hs')
-rw-r--r-- | testsuite/tests/lib/socket/socket008.hs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/testsuite/tests/lib/socket/socket008.hs b/testsuite/tests/lib/socket/socket008.hs new file mode 100644 index 0000000000..896763409e --- /dev/null +++ b/testsuite/tests/lib/socket/socket008.hs @@ -0,0 +1,21 @@ +module Main where + +import SocketPrim +import BSD +import System + +main = + getArgs >>= \ [host, port, message] -> + getProtocolNumber "tcp" >>= \ proto -> + socket AF_INET Stream proto >>= \ s -> + getHostByName host >>= \ (HostEntry _ _ _ haddrs) -> + connect s (SockAddrInet (mkPortNumber (read port)) + (head haddrs)) >> + + getPeerName s >>= \ (SockAddrInet _ haddr) -> + getHostByAddr AF_INET haddr >>= \ (HostEntry hname _ _ _) -> + putStr ("Connected to : " ++ hname ++ "\n") >> + writeSocket s message >> + shutdown s ShutdownBoth >> + sClose s + |