Arduino, PC, Ethernet, and VB

So, a client connects to the Arduino-as-server.

  if (client) 
  {
    boolean currentLineIsBlank = true;  
    while (client.connected()) 
    {
      if (client.available()) 
      {
        int val;
        if (buffer[0] == 'O')
        {
          digitalWrite(8,HIGH);
        }
        else if (buffer[0] == 'F')
        {
          digitalWrite(8,LOW);
        }
      }
    }
  }

You check to see if the client has anything to say, but you never bother to find out what the client has to say (there are no client.read() calls).

Then, you look in the buffer that you haven't written to to see if some stuff magically appeared there. Well, of course it hasn't, so buffer does not contain 'O' or 'F' in the first position, so nothing happens.

You never read what the client has to say, so it stays connected. Pretty soon, there are no more connections available, so no more clients can get in line to be ignored.

What was the problem, anyway?