From d13463326bbe27da6b73cdd54b215187e166aabf Mon Sep 17 00:00:00 2001 From: Oschly Date: Tue, 5 May 2026 20:33:59 +0200 Subject: [PATCH] Describe Network framework --- Thesis/Chapters/1. Theoretical Scope.typ | 4 ++-- Thesis/main.pdf | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Thesis/Chapters/1. Theoretical Scope.typ b/Thesis/Chapters/1. Theoretical Scope.typ index f7c00d6..9788d0a 100644 --- a/Thesis/Chapters/1. Theoretical Scope.typ +++ b/Thesis/Chapters/1. Theoretical Scope.typ @@ -33,9 +33,9 @@ Obiektem identyfikującym urządzenie miedzy sesjami jest MCPeerID, zawierający W czasie odkrywania urządzeń w pobliżu, mamy jedynie dostęp do ograniczonej ilości informacji, które są dystrybuowane przez nadawców. Dopiero po wysłaniu zaproszenia przez odkrywcę, a następnie akceptacji przez nadawcę, możemy wykorzystać w pełni interfejs Multipeer Connectivity do komunikacji. -// zalety, wady +Network jest frameworkiem skupionym na ogólnej interakcji z połączeniami sieciowymi. Oprócz lokalnego dostępu do innych urządzeń, daje możliwość wykorzystania całej dostępnej infrastruktury sieciowej. Apple w przypadku tworzenia aplikacji w oparciu o połączenia peer to peer, zaleca łączenie Network z biblioteką DeviceDiscoveryUI, która zapewnia dodatkowy interfejs graficzny dla użytkownika aplikacji implementujący proces parowania. W ramach tego procesu Apple pozwala na wybór protokołu do komunikacji w czasie parowania. Mamy do wyboru Bonjour - starszy, należący do Apple protokół - oraz Wi-Fi Aware - otwarty, międzyplatformowy standard. DeviceDiscoveryUI jest nową biblioteką, dostępną od systemów operacyjnych wydanych w 2025 roku - iOS 26, iPadOS 26, macOS 26. Wyjątkiem jest wsparcie dla tvOS, tutaj Apple oferuje wsparcie od wersji 16, wydanej w 2022 roku. Wi-Fi Aware jest również dostępny dopiero od systemów wydanyc w 2025 roku. Network wraz z własnym protokołem ramkowania jest dostępny od wersji systemów operacyjnych wydanych w 2019 roku. -=== Network +W przypadku oparcia aplikacji komunikujacej się peer to peer z innymi urządzeniami o Network, musimy przygotować własny protokół ramkowania `NWProtocolFramerImplementation`. W nim powinniśmy obsłużyć wszystkie wydarzenia związane z poprawnym zarządzaniem połączeniem - inicjację, powrót z uśpienia, zatrzymanie, proces czyszczenia prze dealokacją. Do nasłuchiwania na przychodzące połączenia wykorzystalibyśmy obiekt `NWListener`. Połączenie z innymi urządzeniem byłoby reprezentowane przez obiekt `NWConnection`, a jeśli chcielibyśmy zaimplementować własny proces odkrywania i negocjacji połączenia z pobliskimi urządzeniami, musielibyśmy dodatkowo wykorzystać obiekt `NWBrowser`. // == Analiza istniejących rozwiązań // === Aplikacje zcentralizowane diff --git a/Thesis/main.pdf b/Thesis/main.pdf index 4e45e9d..9c7b9ec 100644 --- a/Thesis/main.pdf +++ b/Thesis/main.pdf @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:34d5f711130d3a0649af1e6f8919782e9291593006d68b43b27ba9ca71600163 -size 153154 +oid sha256:779527747e84a9efe13bda902424d214e7e5e934851e1ae16c5f9ee820ff67af +size 161474