Example #1
0
        private void Tic_Tac_Toe_Server_Load(object sender, EventArgs e)
        {
            //start the client
            Boolean            error  = false;
            Tic_Tac_Toe_Client client = new Tic_Tac_Toe_Client(this, error, menu);

            client.Show();
        }
Example #2
0
        //accept connections from two clients applications
        public void SetUp()
        {
            //server listens for requests on port 5000
            try
            {
                listener = new TcpListener(System.Net.IPAddress.Any, 5000);
                listener.Start();



                //accept first client (player) and start its thread

                players[0]       = new NetPlayer(listener.AcceptSocket(), this, 'X');
                playerThreads[0] = new Thread(new ThreadStart(players[0].Run));

                playerThreads[0].Start();

                // //accept second client (Player) and start its thread
                players[1]       = new NetPlayer(listener.AcceptSocket(), this, 'O');
                playerThreads[1] = new Thread(new ThreadStart(players[1].Run));

                playerThreads[1].Start();

                //inform first player of other player's connection to the server
                lock ((players[0]))
                {
                    players[0].threadSuspended = false;
                    Monitor.Pulse(players[0]);
                }
            }
            catch (SocketException ex)
            {
                //MessageBox.Show("server setup error " + ex.Message);
                //start the client
                Boolean            error  = true;
                Tic_Tac_Toe_Client client = new Tic_Tac_Toe_Client(this, error, menu);
                client.Show();

                closeTheForm(); // exit the server if the server is already running
                //this.Close();
            }
        }