#2795: The Network.Socket library does not take into account that the bits in 
the
network are sent as big enddian.
-----------------------------------------------------------------------+----
    Reporter:  guest                                                   |        
Owner:       
        Type:  bug                                                     |       
Status:  new  
    Priority:  normal                                                  |    
Milestone:       
   Component:  libraries/network                                       |      
Version:       
    Severity:  major                                                   |   
Resolution:       
    Keywords:  socket port number big-enddian little-enddian conflict  |     
Testcase:       
Architecture:  x86                                                     |        
   Os:  Linux
-----------------------------------------------------------------------+----
Comment (by felixmar):

 Hi Alejandro and Josef,

 This is not a bug, but the documentation for Network.Socket is lacking.
 !PortNumber is defined as
 {{{
 newtype PortNumber = PortNum Word16
 }}}
 The Word16 argument of !PortNum represents the internal port number of
 !PortNumber and is in network byte order. Because !PortNumber is an
 instance of Num you can define a !PortNumber value like this:
 {{{
 let port = 51777 :: PortNumber
 }}}
 The value 51777 will then be automatically converted to it's internal
 representation depending on the little-endianness or big-endianness of the
 processor.

 Regards,
 Felix

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2795#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to