0

给定以下代码

(@<) :: Port -> IO Socket
(@<) p = do -- listen
#if !defined(IPV4ONLY)
  s <- socket AF_INET6 Stream 0 =>> opt
  setSocketOption s IPv6Only  0 // try_
  bindSocket      s $ SockAddrInet6 p 0 iN6ADDR_ANY 0
#else
  s <- socket AF_INET  Stream 0 =>> opt              -- Windows XP does not have
  setSocketOption s $ SockAddrInet  p   iNADDR_ANY   -- a dual-stack sockets API
#endif
  listen          s maxListenQueue
  print $ Service Listen p
  return s
    where opt s = mapM_ (\o -> setSocketOption s o 1) [ ReuseAddr, KeepAlive ]

配置(cabal config)时间最干净/最短的方法是什么:

  1. 检查 Windows 版本
  2. 定义IPV4ONLY是否在 Windows XP(或更早版本?)上编译

首选只有阴谋集团的方法。因为我认为检查太小而无法创建成熟的配置脚本

4

0 回答 0