When using TCP sockets you bind, listen and accept and eventually recv. You can find some tutorials over here or check out the official MSDN documentation.
The winsock API is based on UNIX' BSD sockets; so they are very very similar. You might want to look into that. A book that I've recently is UNIX Network Programming by Richard Stevens and he explains pretty much everything there is to know about sockets.
You might also consider running your sockets in a separate thread to improve readability and performance.
Edit: As for listening on a specific port; this is the sin.port parameter of your SOCKADDR_IN struct.