> A related problem... connections are refused when using accept if the
> hostname doesn't resolve. Maybe something like this would 
> help, unless there
> is a better way?
> 
> accept sock = do
>  ~(sock', (SockAddrInet port haddr)) <- Socket.accept sock
>  (HostEntry peer _ _ _) <- ((getHostByAddr AF_INET haddr)
> `Control.Exception.catch` (\_ ->
>    return (HostEntry ((showHex ((haddr `shiftR` 24) .&. 0xff) 
> . showChar '.'
> . showHex ((haddr `shiftR` 16) .&. 0xff)
>       . showChar '.' . showHex ((haddr `shiftR` 8) .&. 0xff) 
> . showChar '.'
> . showHex (haddr .&. 0xff)) "") [] AF_INET [])))
>  handle             <- socketToHandle sock' ReadWriteMode
>  return (handle, peer, port)

Yes, except that inet_ntoa is the right way to get the string
representation of an IP address.  I'll make this change.

Cheers,
        Simon
_______________________________________________
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to