What are all of my options for connecting to an Arduino with the Ethernet shield ?
You have two. One, the Ethernet shield can be plugged in. Two, the Ethernet shield can be unplugged.
It's a pretty simple device to connect to the Arduino. It only fits one way.
How many different ways can I send information to an Arduino ?
Using the serial port, using I2C, and using SPI are the most common. The ethernet shield uses SPI to talk to the Arduino.
If the question was about data types, text and binary.
What are the supported protocols for Arduino and Ethernet communication ?
http is the most common.
What data can I send to my Arduino over a local area network ( LAN ) ?
Any data that you have.
What languages ( packet protocols ) does the Arduino like?
Im asking about these:
HTTP / Serial / TELNET
-------------------------------------------
TCP / UDP
Languages and protocols and data content are three different things. The Arduino with ethernet shield can use all of the protocols (http, tcp, udp) and communications mechanisms (serial and telnet).
it seems that most of the examples use TELNET but I've got issues with how it chops up data and then I have to reconvert it into something usable
IE: run a atoi() on my arduino to get the integer variables im sending it
All communication with the Ethernet shield is in plain text. That is the nature of the protocols that the chip on the ethernet board understands.
( this seems like a big waste of time to me... and I'd MUCH rather use a protocol that allows me to use " strict data types" )
Conversion of text to integer is pretty quick. If you are going to use an ethernet shield on that Arduino, you are stuck with sending text to the shield.
If you want (or can) connect the Arduino directly to the PC, using the USB cable/serial port, there is
http://ruby-serialport.rubyforge.org/, which allows you to send binary data to the Arduino.
Keep in mind, though, that an int on the PC and an int on the Arduino are not the same size, and that data sent over the serial port is in byte-sized chunks, so sending and receiving even something as simple as an int is not as easy as you want it to be.