Piszę w C# dwie proste aplikacje, które mają się ze sobą skomunikować po TCP/IP. Mam już komunikację lokalną, tzn. na 127.0.0.1 śmiga, ale chciałbym aby działało to przez internet. Wobec tego biorę sobie swoje ip zewnętrzne z http://checkip.dyndns.org/, stawiam na nim server, próbuję podłączyć klienta ... i na tym się kończy, bo listener klienta nie może złapać. Skąd ten problem? Jak to naprawić? Poniżej wrzucam swój kod:
Server:
Server = new TcpListener(ServerEndPoint); // Gdzie ServerEndPoint zawiera pobrane Ip zewnętrzne, które jest OK oraz port
Server.Start();
while (!Server.Pending())
{
if (bgwClientListener.CancellationPending)
{
StopServer();
bgwClientListener.CancelAsync();
}
}
// I dotąd już nie dochodzi, cały czas łączy
lblFormTitle.Text = "Connected!";
Client = Server.AcceptTcpClient();
StopServer();
Klient:
lblFormTitle.Text = "Trying to connect...";
Client = new TcpClient();
Client.Connect(ServerEndPoint); // ServerEndPoint klienta zawiera to samo co ServerEndPoint serwera
// I łączy się i łączy i łączy...
lblFormTitle.Text = "Connected!";
StopClient();
Uprzedzam, że szukałem już w google i na forach i albo mam niski skill w googlingu, albo po prostu nic nie pasowało do moich potrzeb.