Usually, I don't answer non-questions (as I say, your post is not a question), but in this particular case, there is a couple of ideas you need to get to overcome the confusion you apparently have.
There are no such things as LAN technologies. There are
network technologies which can be applied to different kinds of network in exact same ways.
Besides, network technologies are not confined to such a narrow and limited paradigm as client-server. The roles of different application and the orders of communication can be arbitrary, application-specific, and, in very many cases, should be, unless your agree to have utterly ineffective architecture.
With .NET, you have a wide range of ready-to-use network types and facilities at different level, starting from raw sockets to remoting to WCF. I tried to overview these levels in my past answers:
how i can send byte[] to other pc[
^],
Communication b/w two Windows applications on LAN.[
^].
In real-life practice, network programming also closely related to multithreading.
See also this answer:
Multple clients from same port Number[
^].
—SA