C++ - Linux - Internet

C++ - Linux - Internet
rafal__
  • Rejestracja: dni
  • Ostatnio: dni
0

witam.
nigdy nie lubiłem tematów związanych z sieciami. przyszło mi jednak napisać cześć aplikacji, gdzie użytkownik łączy się z siecią. ma do wyboru LAN i Wifi: wep, wpa, wpa2. po wpisaniu essidu i hasła ma się połączyć z internetem.

moje pytanie brzmi: jak najszybciej to rozwiązać? czego mam użyć, może jest jakieś gotowe narzędzie, które będzie w stanie łączyć się z internetem po podaniu danych z mojego programu? jak monitorować czy komputer jest podłączony do internetu?

KU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 166
0

Zainteresuj się szyną systemową D-Bus spiętą z NetworkManagerem lub tym_drugim_którego_nazwy_ciągle_zapominam_(ale_było_w_niej_"W")... Najprostszy sposób i nie musisz wynajdywać koła na nowo, tym bardziej że te managery mają zaimplementowaną obsługę niemal wszystkiego co jest potrzebne do zestawienia połączenia.

M1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 175
0

Pobierasz dane użytkownika tworzysz odpowiedni plik konfiguracyjny i gotowe.

rafal__
  • Rejestracja: dni
  • Ostatnio: dni
0

No raczej się nie uda jak źle robiłeś i zamiast tak pisać pokaż co do tej pory zrobiłeś

na razie próbowałem się połączyć ze swoim routerem wpa2.
korzystałem z tego: http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch13_:_Linux_Wireless_Networking
http://www.ubucentrum.net/2009/05/aczenie-sie-z-wifi-z-poziomu-konsoli.html
i paru innych tutoriali

efektów mojej pracy nie odtworzę, bo potrzebowałem szybko internetu, to zainstalowałem z powrotem network managera

  • Rejestracja: dni
  • Ostatnio: dni
0

Dlaczego chcecie ograniczać użytkowników poprzez tworzenie własnego rozwiązania? Netman i wicd są już chyba standardem w dystrybucjach dla tzw. "zwykłego użytkownika". Mają oni zatem pokonfigurowane jakieś swoje sieci, punkty dostępu itp. wszystko w jednym miejscu. Tworzenie nowego rozwiązania wymusi na userach konieczność tworzenia drugiego zestawu konfiguracji i panowania nad tym wszystkim, a to jest bez sensu.
Dodatkowo, zestawienie połączenia to nie tylko stworzenie pliku konfiguracyjnego. Jeśli to jest WPA2, trzeba odpalić suplikanta. Jeśli parametry są konfigurowane dynamicznie, trzeba odpalić demona DHCP (klienta). Jeśli user ma swoje rutingi, trzeba je nałożyć po zestawieniu połączenia, to samo z VPNami. A trzeba jeszcze wykryć czy karta WiFi jest włączona, czy kabel ethernetowy siedzi w gnieździe i czy jest nośna itp. itd. Tym całym bajzlem zajmuje się NM i wicd, dodając jednocześnie łatwe w użyciu narzędzie konfiguracyjne dla usera (w trybie graficznym i tekstowym) oraz jakieś ikonki w obszarze powiadomień, plazmoidy i inne upiększacze tak wielbione przez userów.
Programowanie tego jest banalnie proste. Wystarczy podpiąć się do szyny D-Bus, odpalać procedury zdalne i łapać sygnały. Program zostanie poinformowany nawet o utracie połączenia sieciowego i można to odpowiednio obsłużyć. Nie trzeba mieć uprawnień roota, w przeciwieństwie do generowania plików konfiguracyjnych obszaru sieciowego, czy odpalania suplikantów, DHCP i innego badziewia. Jeśli zwykła aplikacja dla usera ma mieć SUIDa, albo ma być uruchamiana na prawach roota, to coś jest wyjątkowo nie tak z projektem.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.