Where should I begin when building a full-duplex Client/Server software?
I'm looking forward to roll out a simple server/client software, just to understand this field a little better.

So, as the title says, with what and where should I begin when building a full-duplex Client and Server software?

I'm looking to build it with C#, probably, but yeah, any language will cut it since I'm more interested in algorithms and simple implementations.

Last but not least, targeted mainly for working with TCP, but possible that I'll want to expand for specific data types later on.

Thanks in advance!
Where should I begin when building a full-duplex Client/Server software?
===

I'm looking forward to roll out a simple server/client software, just to understand this field a little better.

So, as the title says, with what and where should I begin when building a full-duplex Client and Server software?

I'm looking to build it with C#, probably, but yeah, any language will cut it since I'm more interested in algorithms and simple implementations.

Last but not least, targeted mainly for working with TCP, but possible that I'll want to expand for specific data types later on.

Thanks in advance!