[Haskell-cafe] Sockets get bound to wrong port on Windows

Matthias Reisner matthias.reisner at googlemail.com
Wed Jun 2 23:10:04 EDT 2010


Hi,

there's something wrong with port numbers in the Network.Socket module 
of package network. Printing values gives:

    *Main> PortNum 8888
    47138
    *Main> PortNum 47138
    8888

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?


Regards,

Matthias


More information about the Haskell-Cafe mailing list