gameServer/ClientIO.hs
changeset 5012 8767878e08e2
parent 5011 73c5839d4447
child 5030 42746c5d4a80
equal deleted inserted replaced
5011:73c5839d4447 5012:8767878e08e2
    45 
    45 
    46         sendPacket packet = writeChan chan $ ClientMessage (ci, packet)
    46         sendPacket packet = writeChan chan $ ClientMessage (ci, packet)
    47 
    47 
    48 clientRecvLoop :: Socket -> Chan CoreMessage -> ClientIndex -> IO ()
    48 clientRecvLoop :: Socket -> Chan CoreMessage -> ClientIndex -> IO ()
    49 clientRecvLoop s chan ci =
    49 clientRecvLoop s chan ci =
    50         (Exception.unblock $ listenLoop s chan ci >> return "Connection closed") `catch` (return . B.pack . show) >>= clientOff >> remove
    50         (listenLoop s chan ci >> return "Connection closed") `catch` (return . B.pack . show) >>= clientOff >> remove
    51     where
    51     where
    52         clientOff msg = writeChan chan $ ClientMessage (ci, ["QUIT", msg])
    52         clientOff msg = writeChan chan $ ClientMessage (ci, ["QUIT", msg])
    53         remove = writeChan chan $ Remove ci
    53         remove = writeChan chan $ Remove ci
    54 
    54 
    55 
    55