I'm trying to make a console chat program, and at the moment only one person can talk at a time. If there was a way to read and write to the console at the same time, either user would be able to send messages whenever they wanted, not just after the other person spoke. Does that clarify it?
Just keep checking whether there is input from your socket(s) and from the console, and instantly respond to each one as it occurs, then return to your loop. There are Windows wait functions to do just this, such as WaitForMultipleObjects(): http://www.google.com/search?btnI=1&q=msdn+WaitForMultipleObjects