Server-client communication (sending and receiving data)

I want to make simple client-server program where arduino behave as a client. For example I have a LED connected in arduino board that is controlled by a switch. With the switch I can turn off and on the LED. Now I want to send the status of that LED to another computer wirelessly (let's say within the Local network). That computer will act as a server and update the change as soon as the LED changes its status. The server should be able to communicate with the arduino also.
For this communication, I want to avoid using Wi-Fi sheild (that is, arduino will send data while its connected with a computer).

I am not expecting any complete code, I just want to know how could it be done in better way? May be some links can help me? Because this is my first time working with client-server in arduino sketch, I need some kind of guidelines. Thank you.

The server should be able to communicate with the arduino also.

That is NOT the role of a server in a client/server setup, if, by that, you mean that you want the server to initiate communications. The server can respond to a client. It can NOT initiate communications, and should not be expected to remember that it has ever heard of any client before.

What mechanism are you going to use to have the Arduino communicate with the server? Ethernet?

Hi, I am not using any ethernet sheild for communication. Isn't it possible? Or please just give me some tutorial that helps me to understand this concept as whole.

Isn't it possible?

Sure. You could get two servos and have them wave semaphore flags. Attach a web cam to the PC, and feed the stream into some image recognition software than can decode the message that the semaphore flags are sending.

I'll ask again. What mechanism are you going to use to have the Arduino communicate with the server?