Oppure

Loading
09/02/11 10:18
Exit93
Sto scrivendo un server di gioco, per le connessioni uso tcpclient e tcplistener.
Il problema è che per controllare ci sono connessioni in attesa utilizzo un ciclo infinito che però usa costantemente il 25% del calcolo del processore, per ovviare a questo ho temporaneamente usato un thread.sleep ma mi chiedevo se ci fosse un altro modo per non perderne in velocità.

Qui il codice attuale.
while (true)
            {
                Thread.Sleep(100);
                if (listener.Pending())
                {
                    Client cl = new Client(listener.AcceptTcpClient());
                }
            }


EDIT:
E per quest'altro ciclo come potrei risolvere?
            while (client.Connected)
            {
                if (client.Available > 0)
                {
                    react();
                }
            }
Ultima modifica effettuata da Exit93 09/02/11 11:03
aaa
09/02/11 10:24
HeDo
asd ma dai :)


for (;;) {

    // AcceptTcpClient è bloccante: quando c'è ritorna
    Client cl = new Client(listener.AcceptTcpClient());

}

aaa