Quando você faz uma conexão com outra máquina pela rede, você tem uma porta de origem e uma porta de destino.
A porta de origem pode ser qualquer porta, o que significa que não precisa corresponder à porta de destino.
Então, enquanto eu posso escutar na porta 80, eu posso conectar a outro sistema na porta 80 usando uma porta local de, digamos, 45000. Na verdade, na maioria das vezes o sistema irá alocar um porta de origem (também chamada de porta de ligação) para você automaticamente ao chamar connect()
.
É desnecessário dizer que você não precisa escutar em uma porta para conectar-se a outro sistema naquela porta, daí porque o TeamViewer - ou qualquer outro aplicativo - pode escutar a porta 80 em sua máquina sem atrapalhar o seu navegador de fazendo pedidos para outros sistemas que também estão ouvindo a porta 80.