gameServer/stresstest2.hs
author orange.hg@gmail.com
Sat, 25 Jun 2011 16:29:05 +0000
changeset 5315 052b6737d2ea
parent 4932 f11d80bac7ed
child 10460 8dcea9087d75
permissions -rw-r--r--
Changements : -ajout de messages répondant à certaine actions des hedgehogs (passer son tour, toucher un ami, etc.) et à l'arrivée des boites (santé, armes et outils) -reformulation de certaines phrases concernant la description des armes et les modes de jeu (càd : ajout/retrai d'un mot, changement des temps de certains verbes, etc.)

{-# LANGUAGE CPP #-}

module Main where

import System.IO
import Control.Concurrent
import Network
import Control.OldException
import Control.Monad
import System.Random

#if !defined(mingw32_HOST_OS)
import System.Posix
#endif

session1 nick room = ["NICK", nick, "", "PROTO", "32", ""]



testing = Control.OldException.handle print $ do
    putStrLn "Start"
    sock <- connectTo "127.0.0.1" (PortNumber 46631)

    num1 <- randomRIO (70000::Int, 70100)
    num2 <- randomRIO (0::Int, 2)
    num3 <- randomRIO (0::Int, 5)
    let nick1 = 'n' : show num1
    let room1 = 'r' : show num2
    mapM_ (\x -> hPutStrLn sock x >> hFlush sock >> randomRIO (300::Int, 590) >>= threadDelay) $ session1 nick1 room1
    mapM_ (\x -> hPutStrLn sock x >> hFlush sock) $ concatMap (\x -> ["CHAT_MSG", show x, ""]) [1..]
    hClose sock
    putStrLn "Finish"

forks = testing

main = withSocketsDo $ do
#if !defined(mingw32_HOST_OS)
    installHandler sigPIPE Ignore Nothing;
#endif
    forks