The question is not specific enough, so I'll try to give you only the general ideas.
Networking can be done in different levels. With TCP, I would recommend working not with sockets, but rather with
TcpListener/TcpClient
. I tried to overview those levels in my past answers:
how i can send byte[] to other pc[
^],
Communication b/w two Windows applications on LAN.[
^].
See also
Multple clients from same port Number[
^] for general architecture and threading.
First thing you need to understand well is threading.
—SA