public void waitForConnect()
   {

       // fire off an action even to tell the GUI to display the waiting for
       // client dialogue
       // Start up a ServerSocket on port PORTNUM.
       try {
          serverSocket = new ServerSocket(PORTNUM);
       } catch (IOException e) {

          // Should be an actionEvent
          System.err.println("Could not listen on port " + PORTNUM
                             + ".  Exception: \n"
                             + e + "\n\nProgram exiting...");
          cleanup();
          // Questionable
          // theDriver.endGame();
       }

       // Set a timeout
       boolean eThrown = false;
       for ( int i = 0; eThrown && i < 4; i++ ) {
            try {
                serverSocket.setSoTimeout( TIMEOUT );
            } catch ( SocketException e ) {
                System.err.println( "Couldn't set timeout for serverSocket:\n" 
                                    + e );
                eThrown = true;
            }
       }
        
       eThrown = false;
       
       try {
           // Wait for a connect request, then initialize clientSocket
           clientSocket = serverSocket.accept();
           // For communication over network
           out = new ObjectOutputStream( clientSocket.getOutputStream() );
           in = new ObjectInputStream( clientSocket.getInputStream() );
       } catch (InterruptedIOException e) {
           System.err.println("Timed out while witing for client to connect. "
                              + "Program exiting...");
           cleanup();
           eThrown = true;
       } catch (IOException e) {
           System.err.println("Error while waiting for client to connect "
                              + "(not a timeout).  Program exiting...");
           cleanup();
           eThrown = true;
           // Questionable
           //theDriver.endGame();
       } 

       // if eThrown == true, something should be done HERE!
       
       // if a client connects begin setting up the game
       // get the client player's name
       takeName();

       // tell the client our name
       sendName();

       // send the client their color
       sendColor();
   }