I have a server that needs to push a message to a client from which it received a request a few days ago. Now request which was received has the IP address of the NAT router behind which the client sits.

I was wondering if I could somehow push a message to a client (or somehow make a TCP connection) who doesn't have a public IP and is sitting behind a NAT router?

1 Answer 1


Short answer: no.

Not unless you know the current public IP address of the destination's router and the router forwards the required transport-layer port (aka destination NAT or reverse NAT).

A very frequently used approach for this problem is that the client keeps polling the server.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.