#network

wszystkie notatki oznaczone etykietą "network"

Sprzętowy stos TCP/IP

Coraz częściej popularne staje się podłączenie do sieci i Internetu różnych ciekawych zabawek, szczególnie tych wykonanych samodzielnie. Pomińmy kwestie przemysłu i różnych gotowych produktów służących, czy to do zdalnego monitorowania obiektów, pomiarów i przesyłania danych poprzez sieć, czy też do zdalnego sterowania. A skupmy się na bardziej amatorskich projektach. Jak to zawsze bywa, możliwość podłączenia naszej zabawki do sieci zależy głównie od czasu i pieniędzy. Jeszcze do niedawna musieliśmy się sami bawić w obsługę stosu sieciowego, bądź wykorzystywać dostępne stosy programowe, głównie dla małych systemów mikroprocesorowych opartych na 8-bitowych mikrokontrolerach rodziny ‘51 czy AVR.

Czytaj dalej

Pomysł: Biblioteka inet

Mój HttpSession jest trochę “do dupy”, bo uzależniony jest od Windowsa i jego WinInet. No cóż, potrzebowałem na szybko jakąś łatwą i prostą obsługę sesji HTTP pod tymi okienkami, więc powstała ona taka jaka jest. Od dawana chodzi mi po głowie mała refaktoryzacja. Wydzielenie publicznego interfejsu i uniezależnienie się od systemu. Wersja Windowsowa oparta dalej na WinInet, a wersja Unixowa na cURL. Wtedy nawet Ci, co nie bardzo chcą patrzecć na WinInet, mogą poprzez jedną flagę wykorzystać w windowsowej wersji także cURL-a.

Czytaj dalej

Netsh - zarządzanie sieciową konfiguracją

Biorąc laptopa na zajęcia na uniwerku wkurza mnie ciągłe zmienianie ustawień sieci, głównie adresów IP, aby podłączyć się do sieci. Dlatego postanowiłem poszukać, ewentualnie napisać prosty programik do szybkiej i wygodnej zmiany ustawień sieciowych z kilku zapisanych konfiguracji. Jednym z ciekawszych programów, jaki znalazłem to Shock IP Changer. Gdybym miał sam napisać swoją wersję to pewnie wyglądałby podobnie ;) Sądząc po zachowaniu programu, prawdopodobnie do zmian konfiguracji sieci wykorzystuje on narzędzie wiersza poleceń - netsh.

Czytaj dalej

Klasa HttpSession

Do bibliotek pisanych w C++ typu grono, pinger i blip potrzebowałem jakiejś prostej i obiektowej obsługi sieci, sesji HTTP. Oczywiście nie będę się męczył z gołym WinAPI. A także, aby w jakimś stopniu zapewnić przenośność głównej biblioteki, w jakich będzie wykorzystywana sieć, zaimplementowałem sobie prostą klasę HttpSession ;) Korzysta ona z WinINet, więc sama obsługa sieci nie jest crossplatformowa, ale każdy kto będzie chciał użyć docelowej biblioteki wykorzystującej HttpSession na innej platformie, sam sobie będzie musiał taką obsługę sieci zaimplementować, zachowując jedynie publiczny interfejs tej klasy.

Czytaj dalej