Am 03.06.2010 05:20 schrieb Ivan Miljenovic:
So I thought it's just an error in the show instance of PortNumber, which
shows the bytes flipped. But if I use the following code snippet

  sock <- socket AF_INET Datagram 0
  bindSocket sock $ SockAddrInet (PortNum 8888) iNADDR_ANY

to bind a socket to port 8888, netstat and TCPView reveal that the socket is
actually bound to the wrong port 47138. I'm using network-2.2.1.7 on Windows
XP. Is that a bug or am I doing something wrong here?

Tried testing this as well; not sure how to test if the binding worked
but "netstat --numeric-ports" didn't contain 8888 or 47138.

Hi Ivan,

here's a complete program to reproduce the error:

   module Main (main) where
   import Network.Socket

   main :: IO ()
   main = withSocketsDo $ do
       sock <- socket AF_INET Datagram 0
       bindSocket sock $ SockAddrInet (PortNum 8888) iNADDR_ANY
       recvFrom sock 65535
       return ()

The output of netstat/TCPView after starting the program is:

   MinSocketBind.exe:2724    UDP    PC1:47138    *:*

By the way, I'm using GHC 6.10.4, which I think shouldn't make a difference.


Matthias
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to