+1 on using an ethernet shield. I have a custom watering system using an Arduino MEGA with the shield -- i control it and receive data with simple JSON commands from a different machine. Keeps the arduiono loop nice and tight and simple and other computer does all the heavy lifting.