No FTP i HTTP nie jest najwygodniejsze, ale znowu nie tak bardzo. W sumie to nie wiem czy takie rozwiązanie jest profesjonalne, niemniej skuteczne
Wystarczy właściwie sam FTP. Jeśli to jest do zastosowań domowych, to przychodzą mi na myśl dwa sposoby.
1) FTP. Zakładamy DARMOWY serwer, wystarczy żeby miał kilka mb jest pełno takich yoyo czy ovh.
-I klientem FTP z dwóch kompów łączymy się na ten serwer
-Gdy w programie pierwszym wysyłamy wiadomość, tworzymy plik na dysku z tą wiadomością o nazwie np. "C1.txt" i wgrywamy go (za pomocą komponenty FTP) na serwer i usuwamy z dysku.
-Komputer drugi cały czas sprawdza czy jest plik na serwerze o nazwie "C1.txt". Jeśli jest to go ściąga, odczytuje wysyła w programie a potem USUWA z serwera.
To samo robi program pierwszy i analogicznie na innych komputerach. Nie wiem jak z szybkością. Rozwiązanie trochę brutalne, ale w teorii skuteczne.
2) Za pomocą HTTP. Piszemy stronkę w PHP do komunikacji (coś w stylu forum czy shoutbox'a), z użyciem baz danych. Ale miał być program , nie przeglądarka ? Więc piszemy program w którym umieszczamy komponent-przeglądarka (w zakładce Internet chyba) i ładujemy tą stronę.
Rozwiązanie banalne i również skuteczne, tylko nie wiem czy autor chce mieć to rozwiązanie bo potrzebuje, czy robi ten program dlatego, że chce sobie poprogramować i się sprawdzić

Jeśli tak to nie bardzo
Pierwsze rozwiązanie powinno działać, choć nie wiem jak z tym zewnętrznym IP, niemniej nie powinno być trudne czy niewygodne do napisania