Преглед изворни кода

replace deprecated iNADDR_ANY

master
flavis пре 4 година
родитељ
комит
c6f43b2c96
1 измењених фајлова са 6 додато и 1 уклоњено
  1. +6
    -1
      src/Skat/AI/Server.hs

+ 6
- 1
src/Skat/AI/Server.hs Прегледај датотеку

@@ -48,13 +48,18 @@ initServer :: Net.PortNumber -> Buffering -> OnReceive -> IO ServerEnv
initServer port buffermode handler = do
sock <- Net.socket Net.AF_INET Net.Stream 0
Net.setSocketOption sock Net.ReuseAddr 1
Net.bind sock (Net.SockAddrInet port Net.iNADDR_ANY)
addr <- Net.addrAddress <$> resolve
Net.bind sock addr
Net.listen sock 5
chan <- newChan
forkIO $ forever $ do
msg <- readChan chan -- clearing the main channel
return ()
return (ServerEnv buffermode sock chan handler)
where resolve = do
let hints = Net.defaultHints { Net.addrSocketType = Net.Stream }
addrs <- Net.getAddrInfo (Just hints) (Just "127.0.0.1") (Just $ show port)
return $ head addrs

close :: ServerEnv -> IO ()
close = Net.close . socket


Loading…
Откажи
Сачувај