gameServer/stresstest2.hs
changeset 1804 4e78ad846fb6
child 2352 7eaf82cf0890
equal deleted inserted replaced
1803:95efe37482e3 1804:4e78ad846fb6
       
     1 {-# LANGUAGE CPP #-}
       
     2 
       
     3 module Main where
       
     4 
       
     5 import IO
       
     6 import System.IO
       
     7 import Control.Concurrent
       
     8 import Network
       
     9 import Control.Exception
       
    10 import Control.Monad
       
    11 import System.Random
       
    12 
       
    13 #if !defined(mingw32_HOST_OS)
       
    14 import System.Posix
       
    15 #endif
       
    16 
       
    17 testing = Control.Exception.handle (\e -> putStrLn $ show e) $ do
       
    18 	delay <- randomRIO (100::Int, 300)
       
    19 	threadDelay delay
       
    20 	sock <- connectTo "127.0.0.1" (PortNumber 46631)
       
    21 	hClose sock
       
    22 
       
    23 forks i = do
       
    24 	delay <- randomRIO (50::Int, 190)
       
    25 	if i `mod` 10 == 0 then putStr (show i) else putStr "."
       
    26 	hFlush stdout
       
    27 	threadDelay delay
       
    28 	forkIO testing
       
    29 	forks (i + 1)
       
    30 
       
    31 main = withSocketsDo $ do
       
    32 #if !defined(mingw32_HOST_OS)
       
    33 	installHandler sigPIPE Ignore Nothing;
       
    34 #endif
       
    35 	forks 1