title: Is TCP Communication a 2-way communication?
body: <p>This is really a newbie question regarding TCP Communication.</p>
  
  <p>Is TCP Communication a 2-way communication? </p>
  
  <p>Let me give a scenario:
  One program is listening to a TCP port, say port 25. An external program connects to the first program's IP address (port 25) with a random outgoing port, say port 45000</p>
  
  <p>Since the first program is just listening, does that mean that</p>
  
  <ol>
  <li>The first program can only receive data and not send back any data through Port 25?</li>
  <li>If it can send data, what protects the second computer's outgoing port 45000 from malicious attacks from the first program through port 25? As I know correctly, Firewalls are only for Incoming Ports. </li>
  </ol>
  
  <p>Any replies are highly appreciated</p>