Už jsem problém můj vyřešil, takže asi takhle.. :-)
Na formulář pro aplikaci s veřejkou dáte komponentu serversocket, nastavíte port na kterém to bude komunikovat, servertype dáte buď blocking nebo nonblocking, blocking po dobu odesílání/přijímání dat zmrazí aplikaci, nonblocking jí nechá dál běžet. Po spuštění programu dáte vlastnost active na true a server je spuštěný.
Teď aplikaci pro Pc bez veřejky, sem dáme clientsocket, do vlastnosti adress dáme IP počítače s veřejnou IP adresou, do vlastnosti port dáme stejný port, jako jsme dali port serveru. ClientType je to samé co vlastnost ServerType u serversocket, takže vyplníme podle potřeby. Pro spuštění serveru nastavíme vlastnost acitve na true.
A teď k odesílání a přijímání textu...
Pro odeslání textu ze serveru
ServerSocket1.Socket.Connections[0].SendText('Váš text');
Předchozí kód odešle text pouze na připojení číslo 0, tedy první které se připojí, pro odesílání více uživatelům budete muset použít např. cyklus for
Pro odesílání textu z clienta
ClientSocket1.Socket.SendText('Váš text');
Příjem textu (u obou stejné) do vlastnosti OnRead přidáte následující kód
ShowMessage(socket.ReceiveText);
(zobrazí zprávu s textem, který přišel)
Další vlastnosti, které můžete využívat (stejně jako např. socket.RecieveText)
socket.RemoteHost - Jméno uživatele, který se připojil (nevím jestli jméno PC, nebo uživatelské jméno)
Socket.RemoteAddress - IP adresa uživatele, který se připojil
2Chronos: Já nechtěl udělat žádný chatovací program, chtěl jsem jenom přenést přez net data mezi dvěmy aplikacemi a chat mi přišel jako nejjednodušší popis, nechtěl jsem se zbytečně rozepisovat, navíc tohle vlastně chat je, akorát se příchozí text nezobrazuje :-) Hlavně jsem potřeboval od někoho slyšet jak se ty dvě komponenty používají a jestli nefungují jenom v LAN síti. Ale ten problém už jsem vyřešil, i tak díky za pomoc :-)