Podczas pracy z interfejsem Bluetooth lub Wi-Fi Direct w systemie Android, po zakończeniu wszystkich uzgadniania i podobnych, kończysz z gniazdami.Wysokopoziomowe protokoły dla bezprzewodowych gniazd Bluetooth/WiFi?
Dzięki TCP/IP dysponujemy milionami bibliotek, które są warstwami na gniazdach, dla protokołów wysokiego poziomu: HTTP, XMPP, IMAP itp. Dzięki uprzejmości tych bibliotek możemy zająć się większą ilością domen specyficzne operacje (np. "pobierz ten plik") z instalacją w gnieździe niskiego poziomu obsługiwaną przez bibliotekę.
Pytanie: Czy istnieją odpowiedniki, dla dowolnego protokołu wysokiego szczebla, które są znane do pracy (lub mogą działać) z gniazdami produkowanych przez Bluetooth i/lub Wi-Fi Direct warstw Androidem?
W tej chwili nie jestem wybredny w stosunku do konkretnego protokołu - szukam tylko przykładów tego rodzaju warstwy protokołu, aby ułatwić programistom korzystanie z tego rodzaju opcji łączności.
Na przykład wygląda na to, że mógłbym utworzyć widelec lub dodatek dla OkHTTP, który używa alternatywnego źródła dla gniazd, i prawdopodobnie mógłbym utworzyć serwer Java HTTP, który robi to samo. Biorąc to pod uwagę, twórcy aplikacji pisaliby aplikacje HTTP rozmawiające przez Bluetooth lub Wi-Fi Direct (i, przynajmniej po stronie klienta, kodowanie powinno być dość "naturalne" w odczuciu, gdy parowanie z połączeniem i uzgadnianie zostały zakończone).
IOW, wracając do czynienia z gniazd surowych czuje tak dwie dekady temu ... :-)
Dzięki!
UPDATE
podstawie komentarzu Kristopher Micińskiego na odpowiedź ZeroMQ, pomyślałem niektóre wyjaśnienie może być w porządku.
Łatwiej powiedzieć, co nie chcę chcę: Nie chcę dotykać gniazd po ich utworzeniu. Coś innego na wyższym poziomie powinno obsługiwać te dla mnie, a także obsłużyć to, co uważam za "protokół" (np. Określić, kiedy zakończyła się jakaś operacja komunikacyjna, poza zamknięciem gniazda).
Przeważnie jest to dla mojej książki. Większość przykładów książek na tematy niskiego poziomu nie jest realistyczna, na przykład: "otwieramy gniazdo na serwerze i od razu rozpalamy bajty przedstawiające obraz, który chcemy załadować, a następnie zamykamy gniazdo, gdy skończymy". Choć przykłady pracy, nigdy byś napisać coś takiego w prawdziwym życiu:
Jeśli naprawdę działa na poziomie gniazda, byłbyś realizacji jakiś protokół, który ma nadzieje na zajęcie uwierzytelniania, obsługa błędów, itd., nawet jeśli jesteś toczenia protokół yourself
niewielu deweloperów pracować bezpośrednio z gniazd dzisiaj dla operacji internetowych
teraz, byłoby super, gdyby protokół oferowane przez warstwa była czymś, czego używali programiści o (np. HTTP) lub nawet o tym, że go nie używali (np. XMPP). Postaram się o proste scenariusze (np. Obsługa N-way jest fajna, ale nie jest konieczna). Pod tym względem, na podstawie wstępnych badań (przeprowadzonych przez mózg pozbawiony snu), ZeroMQ nie jest złą opcją.Brakuje w nim "rozpoznawalności marki" w porównaniu do, powiedzmy, stosu XMPP, który mógłby działać z dowolnymi gniazdami. Ale poza mankietem wydaje się spełniać to, czego jeszcze szukam.
Rozumiem, że te stosy będą miały ograniczenia nałożone przez podstawowy transport (np. Bluetooth działa dobrze tylko w przypadku N-way dla małych wartości N). I na pewno nie chcę przedstawiać - tu ani w mojej książce - że jakiekolwiek rozwiązanie, które przedstawiam, jest komunikacją opartą na gniazdach.
Po prostu chcę czegoś, co ma modlitwę bardziej realistyczną do rzeczywistego wykorzystania. Punkty premiowe, jeśli jest to coś, co mogę pogadać, ponieważ zawsze stosowałem protokoły wyższego poziomu do komunikacji TCP/IP, a więc brak mi doświadczenia z bezpośrednią manipulacją gniazdami.
http://stackoverflow.com/questions/5041426/peer-to-peer-communication-options? –