client.connect() fails except the first time
You have to disconnect before being able to connect again otherwise the controller will crash due to memory starvation. Every connect you do takes some memory to register state information. Not sure of the exact commands involved, but it'd look a bit like this:

   if (client.connect(server, port)) 
     { 
       ....... 
       client.disconnect( .... );
      }
  else 
........


Alternatively you can check if you are already connected, and only do a reconnect when necessary, but I don't know which library you are using, let alone if there is a proper check available in it.