Przełączanie sieci

0

Czy jest możliwość z poziomu delphi przełączenie z jednej sieci na drugą?
Chodzi mi dokładnie o to że mam dwie karty sieciowe, i co za tym idzie dwa połączenia lokalne i nie mogę być jednocześnie podłączony w obu sieciach. Muszę najpierw wyłączyc jedno a potem dopiero włączyc połączenia 2.
Chciałbym to jakoś zautomatyzować, i jestem ciekaw jak się w ogóle za to zabrać.
I czy istnieje sposób aby sprawdzić które połączenie jest akurat aktywne?
Dzięki
[glowa]

0

jak to nie możesz być w dwóch sieciach lokalnych naraz? ja tak mam i jest ok.

0

Jak ja bym chciał to też bym mógł - ale nie mogę, bo chodzi o bezpieczeństwo.
[cygaro]
Jeszcze zapomniałem dopisać że nie chodzi o dwie sieci lokalne - tylko o jedną lokalną, a ta druga to internet - ale to już nie ma najmniejszego znaczenia.

0

nie rozumiem, co masz na myśli pisząc "przełączanie z jednej sieci w drugą". może wytłumacz dokładniej?
jesli piszesz serwer, to co za problem - nasłuchujesz na odpowiednim adresie i już.

0

Może chodzi mu o włączanie/wyłączanie interfejzów sieciowych :)
-> To w takim razie musisz poszukać w dokumentacji windowsa i odpowiednie polecenie z lini komend wywołać :)

0

W połączeniach sieciowych mam 2 połączenia.
Połączenie lokalne
oraz
Połączenie lokalne 2.
Żeby przełączyć się z jednej sieci w drugą muszę najpierw wyłączyc połączenie 1 a włączyć 2 i na odwrót jeśli chcę się przełączyć z powrotem.
Można to zrobić klikając prawym klawiszem myszy na połączeniu i z menu podręcznego wybrać (włącz lub wyłącz - w zależności czy połączenie jest włączone czy nie).
No i teraz wymyśliłem sobie, że napiszę jakiś program w delphi albo jakiś skrypt który przełączał by mi te połączenia, a przy okazji jeszcze np. przy włączaniu połączenia z internetem uruchamiał by mi dodatkowo programy (np. powiedzmy gg i tlen) a przy przełączaniu na lokalną wyłączał je.
Tak to sobie chciałem wykombinować.
Bardziej dokładnie to już chyba nie idzie opisać.

do Pregusia:
Niestety nie chodzi mi o włączanie/wyłączanie interfejsów sieciowych (kart sieciowych) tylko o te 2 nieszczęsne połączenia sieciowe.

Jeśli ktoś się tym bawił już kiedyś to proszę o pomoc.
Za wszystkie podpowiedzi dziękuję.

0

Przepraszam Pregusia.
Nie zwróciłem uwagi że wyłączając połączenie tak naprawde rzeczywiscie w menadżerze urządzeń wyłącza sie karta sieciowa odpowiedzialna za dane połączenie.

0

joniu.. ale ja też Ciebie nie rozumiem.. Po co chcesz wyłączać którekolweiek z połączeń ? One się nawzajem nie widzą, nie przesyłają między sobą danych (no chyba że masz włączone udostępnianie), nie musisz więc za każdym razem włączać jedno i wyłączać drygie.. to bez sensu..

0

No niestety po prostu muszę to robić.
Uwierzcie mi.
I nie ma się tu nad czym zastanawiać tylko tak muszę robić i już.

;-(

0

Spróbuj z jakims routerem. bądź sprzętowym, bądź softowym. Po prostu blokuj na zmianę jedną, bądź drugą sieć.

0

Nie ma żadnych routerów ani niczego takiego i nie będzie bo po co?
To samo mam poprzez ręczne przełączanie w Połączeniach sieciowych.
Interesuje mnie tylko czy da sie to przełączać programowo a nie ręcznie. A jesli się da, to czy ktoś wie jak to zrealizować??

0

Sprawdź w pomocy od windowsa. Tam gdzieś powinien być opis polecenia netsh, które umożliwia wyłaczanie interfesów sieciowych i <ort>w ogóle </ort>takich tam... :)

0

Na razie dzięki.
Po pierwszych próbach wyswietliło mi takie info:
Dedykowanych interfejsów nie można łączyć, odłączać, włączać i wyłączać. Nie można ukończyć wykonywania tej funkcji.
Na razie kończę pracę więc będę szalał w poniedziałek z tymi interfejsami dalej.
Dzięki jeszcze raz.
Jak to zrobię to dam jeszcze znać.

0

Dość stary temat, ale nudzi mi sie dzisiaj :) wiec jeżeli chodzi o przełączanie sie pomiędzy interfacami sieciowymi z poziomu Windows to słusznie została wskazana metoda użycia Netsh. Można napisać bardzo prostego Batcha który będzie automatycznie przełączał pomiędzy połączeniami.

Poniższy kod wystarczy wkleić do notatnika i zapisać jako plik z rozszerzeniem BAT.

@ECHO OFF
:BEGIN
CLS
ECHO Wybierz opcje: 
ECHO [1] - Wylacz inerface nr 1;  
ECHO [2] - Wlacz interface nr 1; 
ECHO [3] - Wylacz interface nr 2; 
ECHO [4] - Wlacz interface nr 2;
CHOICE /N /C:1234 %1
IF ERRORLEVEL ==4 GOTO FOUR
IF ERRORLEVEL ==3 GOTO THREE
IF ERRORLEVEL ==2 GOTO TWO
IF ERRORLEVEL ==1 GOTO ONE
GOTO END
:FOUR
netsh interface set interface "local area connection 2" ENABLE
ECHO Interface nr 2 wlaczony pomyslnie!
GOTO END
:THREE
netsh interface set interface "local area connection 2" DISABLE
ECHO Interface nr 2 Wylaczony  pomyslnie!
GOTO END
:TWO
netsh interface set interface "local area connection" ENABLE
ECHO Interface nr 1 wlaczony pomyslnie!
GOTO END
:ONE
netsh interface set interface "local area connection" DISABLE
ECHO Interface nr 1 Wylaczony  pomyslnie!
:END

Pozdrawiam

0

4 lata i 7 miesięcy bez jednego dnia. Nekrofile ciągle w sile!

0
manfredek napisał(a)

4 lata i 7 miesięcy bez jednego dnia. Nekrofile ciągle w sile!

Oczywiście dla ciebie to jest coś nie zwykłego, że ktoś podał odpowiedź po 4,58 latach...

Ty za to po 4,58 latach głupio skomentowałeś...
(~4,58 roku = 4lata i 7miesięcy).

0
Opi napisał(a)

Oczywiście dla ciebie to jest coś nie zwykłego, że ktoś podał odpowiedź po 4,84 latach...

Ty za to po 4,84 latach głupio skomentowałeś...

Ty po 4,84 latach głupio skomentowałeś mój głupi komentarz. Nie zwykłego?? Niezwykle ciekawa pisownia. Ale tak, to jest coś dziwnego, bo praktycznie nie ma szans żeby autor topicu przeczytał tą odpowiedź. Zresztą nie tylko ja nie lubię forumowych nekrofili...

0

Moim zdaniem - lepiej nie przełączać sieci z jednej na drugą domyślną, może grozić poważnemu zawirusowanym łączem i firewallowi.

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