No TCP, você não envia dados para uma porta. Você envia uma solicitação de conexão para uma porta e, se ela for aceita, você começará a enviar dados por essa conexão. (O TCP Fast Start permite agrupar os dados com o pacote de pedidos, mas nc
não faz isso.)
Então, se não houver nenhum programa ouvindo as conexões em 127.0.0.1
port 2003
...
# echo test | nc -v 127.0.0.1 2003
nc: connect to 127.0.0.1 port 2003 (tcp) failed: Connection refused
... os dados não serão enviados.