Mam taki oto problem:
Stworzyłem aplikacje klient- serwer która "miałaby" działać pomiędzy dwoma PC
Problem w tym, że zarówno PC-1 jak i PC-2 łączą się z Internetem za pośrednictwem różnych routerów.
Połączenie typu DLS gdzie IP1 i IP2 przydzielane dynamicznie.
void ButtonListenOnClick(object obj, EventArgs ea)
{
results.Items.Add("Czekanie na klienta...");
Socket newsock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPEndPoint iep = new IPEndPoint(IPAddress.Any, 9050);
newsock.Bind(iep);
newsock.Listen(5);
newsock.BeginAccept(new AsyncCallback(AcceptConn), newsock);
}
void ButtonConnectOnClick(object obj, EventArgs ea)
{
results.Items.Add("łączenie...");
client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPEndPoint iep = new IPEndPoint(IPAddress.Parse("91.203.133.01"), 9050);
client.BeginConnect(iep, new AsyncCallback(Connected), client);
}
Aby aplikacja działała muszę znać IP1 - klienta i IP2 serwera (znam)... Tylko że one się zmieniają.
Jaka jest alternatywa: Serwer wirtualny i 2 klientów czy zastosować IPv6 czy może jeszcze coś innego???
Z góry dziękuje za wszelkie sugestie