To solve both complaints, just tar -c on the ingress and tar -x on the egress:
sender$ tar -c file | nc -l 12345
recipient$ nc addr 12345 | tar -x
This will create a file on the recipient side with the specified name and properties (and you run the sender command first)