I guess that depends on how you define client and server .
In my home automation system (just monitoring so far), the server is written in Java and runs on a Windows PC. It monitors a collection of 1-wire sensors directly and it talks to a Netduino Plus (NP1) over ethernet that monitors my boiler, water header, and garage door (more to come). The server configuration includes the IP address of the sensor client. The server connects to the sensor client and asks for sensor data once per minute. I plan to implement a locator protocol but haven't had time yet. I have to admit that in this configuration the sensor client is really acting as a server ... but it all depends on how you look at it.
There are also user interface (UI) clients that connect to the server and subscribe to a data feed, which results in the client getting sensor data once per minute which it displays for the user (me). I use some old laptops (one upstairs and one downstairs) as the UI clients, they make a great graphic display, and they were basically free.
I like to implement my own networking code, I've been thinking that I should try to come up with a simple system that could be easily extended for typical network sensors. Maybe this fall I'll have time to do that.
Good luck, with your home automation.
John