I am afraid this is not exactly possible without some 3rd PC server sitting on real IP because of NAT... So that rules out writing something simple like sending UDP datagrams.
But I might be wrong.
I guess it should be best done using some existing infrastructure.