Is there a lightweight networking framework to facilitate network communications between Ethernet/Wireless enabled Arduinos and Linux/Mac/Windows PCs?

Implementing something like being able to read and write the pins or trigger a function from the PC on the Arduino, or trigger an event on the PC because of some input on the Arduino.

I guess I'm just trying to avoid re-inventing a wheel if possible...