Haskell将套接字绑定到特定的IP

时间:2012-05-18 20:56:43

标签: haskell ip ip-address endianness

在Haskell network包中

bindSocket使用HostAddressHostAddress6

定义为:

-- | Network byte order.
type HostAddress = Word32

-- | Host byte order.
type HostAddress6 = (Word32, Word32, Word32, Word32)
  • 如何从123.123.123.123转到Word32
  • 如何从IPv6字符串转到(Word32, Word32, Word32, Word32)
  • endianness是否在不同的操作系统(Windows,Linux,OS X,FreeBSD)上发挥作用?

1 个答案:

答案 0 :(得分:2)

使用getAddrInfo

getAddrInfo :: Maybe AddrInfo -> Maybe HostName -> Maybe ServiceName -> IO [AddrInfo]   
  

将主机或服务名称解析为一个或多个地址。此函数返回的AddrInfo值包含可以直接传递给connect或bindSocket的SockAddr值。

     

此功能与协议无关。它可以返回IPv4和IPv6地址信息。