"Sven Eric Panitz" <[EMAIL PROTECTED]> writes: > ... > > I tried the following little test, which stays away from > above functions: > > > module Main where > > > > import BSD > > import SocketPrim > > import Socket (withSocketsDo) > > > > main = > > Socket.withSocketsDo > > (do > > protNum <- getProtocolNumber "tcp" > > s <- socket AF_INET Stream protNum > > hostAddr <- inet_addr "157.189.164.68" > > let sAddr = (SockAddrInet (toEnum 8080) hostAddr) > > connect s sAddr > > i <- sendTo s "GET / HTTP/1.0\r\n\r\n" sAddr > > (str,l,imsAddr) <- recvFrom s 1000 > > putStr str > > ) > > > But something I seem to be doing wrong. > > During evaluation of 'recvFrom s 1000' I get the following > error message (consistently for unix and windows): > > Fail: SocketPrim.hsc:241: Non-exhaustive patterns in case >
You're doing something slightly non-standard here, using recvfrom() on a connected socket, but I understand why you're doing it (as you don't have any other SocketPrim alternatives for sucking data off of a connected socket). This shows up a bug/problem in the implementation of 'recvFrom', I'm afraid. Conclusion: you're hosed with ghc-5.02.1 and its socket libs under Win32. Sorry. --sigbjorn btw, I've checked in a fix to 'recvFrom' and added wrappers for send() and recv(), but that won't help you short-term. _______________________________________________ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users