Po ponad roku zdecydowałem się na wydanie pierwszej wersji beta biblioteki SNL. Kod został praktycznie przepisany od nowa. Obecne API można uznać za stabilne, ponieważ nie zamierzam wprowadzać żadnych poważniejszych zmian poza optymalizacją kodu i naprawianiem błędów. Zapraszam do testowania i komentowania.
SNL (Small Network Library) jest prostą w użyciu biblioteką napisaną w C, pozwalającą aplikacjom komunikować się w sieci. Biblioteka dostarcza zbiór typów i interfejsów (wykorzystałem zawartą w GLib implementacje obiektowości dla C – GObject), dzięki czemu dobrze integruje się ze środowiskiem programistycznym GNOME i powinna bezproblemowo działać w połączeniu z np. GTK+.
Kilka ciekawych cechy biblioteki:
- pełne wsparcie dla IPv4 oraz IPv6
- obsługa protokołów TCP i UDP
- obiektowość
- interfejsy pozwalające na jednoczesne wykonywanie synchronicznych i asynchronicznych operacji na obiektach
- wielowątkowość
Wymagania:
- GLib w wersji 2.18.0 (lub nowsza)
Wersja 1.0.0 nie będzie powalać możliwościami, z założenia ma być tylko stabilną bazą dla przyszłych wydań, pozwalającą wykonać najprostsze operacje.
Lista pomysłów dla nowych wydań jest długa: szyfrowanie danych, obsługa multicastingi oraz broadcastingu, wsparcie dla protokołu SCTP, translacja nazw itd.
Jednym z głównych celów projektu jest obsługa wielu platform. Póki co biblioteka została wstępnie przetestowana na Linuksie, więc powinna działać na większości systemów uniksowych. Pomoc przy przygotowywaniu portu dla systemu Microsoft Windows mile widziana!
Wszystkich chętnych do współpracy proszę o kontakt mailowy. Mile widziany są programiści (szczególnie innych systemów niż Linux), testerzy oraz autorzy dokumentacji.
Ze strony można pobrać dokumentację API oraz kod źródła biblioteki.
Licencja: GNU LGPL
Strona projektu: http://snllibrary.googlecode.com/
Dokumentacja: Dokumentacja API (Dostępna online dzięki uprzejmości Korneliusza Jarzębskigo)
Kontakt: tomcioj (AT) gmail.com
Zapraszam do testowania!
Dodaj komentarz