Jak zdobyć swój adres IP?

0

Chcę stworzyć aplikację, która będzie przesyłała pliki w sieci. Aplikacja ma działać w ten sposób, że klient wysyła jednocześnie plik do serwera i do innego klienta mojej aplikacji. Aplikację klient - serwer mam już napisaną(napisałem ją za pomocą WCF). Teraz próbuje odnaleźć rozwiązanie napisania modułu wysyłania pliku tak jakby klient - klient. Największą moją bolączką jest to jak zdobyć IP danego komputera tak aby można było stworzyć słuchacza - który odbierze plik - i tak aby można było to IP wysłać do klienta - do tego który chce plik wysłać. Czy ktoś z Was szanowni forumowicze wie może jak osiągnąć taki cel?

0

To jest złe rozwiązanie, bo pokazuje tylko ip komputera widzianego przez ruter, a potrzeba ip komputera widzianego przez sieć. Także pan combbbo się nie popisał anie nie rozpisał, a Pan aurel wręcz zachował się ostentacyjnie. Btw. tego posta znalazłem w google więc raczej go użyłem, jak nie umiecie pomóc to nie odpisujcie. Ja jeszcze poszukam i jak znajdę to odpisze, pozdrawaim.

3

Pytanie tylko po co chcesz operować na tak niskim poziomie jak adresy IP. Niech klienci łączą się do serwera, a serwer niech przechowuje u siebie listę aktywnych sesji TCP. Nie adresy IP ale pełne dane o sesji TCP nawiązanej z klientem. Taką listę niech serwer rozsyła do klientów za każdym razem kiedy podłączy się ktoś nowy czy kiedy ktoś zostanie rozłączony albo kiedy połączenie będzie zerwane. Niech klienci mają jakieś swoje identyfikatory, które są unikalne.

Przy takim rozwiązaniu masz u siebie listę innych klientów. Kiedy chcesz do kogoś wysłać plik to wysyłasz requesta do serwera, że chcesz wysłać dane do klienta o ID takim czy takim, a serwer znajdzie sobie sam aktywną sesję TCP do tego klienta i tam wyśle dane. Nawet nie będziesz musiał martwić się o ip'ki, bo będzie obsługiwane pełne gniazdo połączenia TCP.

IMHO niepotrzebnie komplikujesz sobie życie, bo w Twojej aplikacji ktoś schowany za NAT'em nie ma szans na podjęcie komunikacji.

0

Jak koniecznie chcesz swoje zewnętrzne IP, to możesz użyć czegoś takiego:

https://www.ipify.org/

Ale Grzesiek już Cię uświadomił (mam nadzieję) że to bezsens. :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1