பொறியியல் குறிப்புகள்
PlainApp-இன் பியர்-டு-பியர் கட்டமைப்பு, போக்குவரத்து வடிவமைப்பு மற்றும் குறியாக்கவியல் குறித்த ஆழமான பகுப்பாய்வு — மூலக் குறியீட்டிலிருந்து நேரடியாக.
DLNA காஸ்ட்: UPnP அனுப்புநரையும் பெறுநரையும் புதிதாக உருவாக்குதல்
PlainApp இரண்டு பக்கங்களிலும் DLNA/UPnP AV காஸ்டிங்கை எவ்வாறு செயல்படுத்துகிறது: SOAP வழியாக ஸ்மார்ட் டிவிகளை ஸ்கேன் செய்து கட்டுப்படுத்தும் அனுப்புநராகவும், தொலைபேசியையே UPnP MediaRenderer ஆக மாற்றும் பெறுநராகவும் — SSDP கண்டுபிடிப்பு, DIDL-Lite மெட்டாடேட்டா, Range-request மீடியா வழங்கல், GENA நிகழ்வு அழைப்புகள் மற்றும் அனுப்புநர்-IP அனுமதி/மறுப்பு நம்பிக்கை மாதிரி, அனைத்தும் தூய Kotlin Multiplatform இல்.
ஸ்கிரீன் மிரர்: குறைந்த தாமத ஒளிபரப்பு கட்டமைப்பு
இந்த கட்டுரை PlainApp இன் ஸ்கிரீன் மிரர் அமைப்பின் முழு வடிவமைப்பை உள்ளடக்குகிறது: Android எவ்வாறு MediaCodec மூலம் H.264/Opus ஐ வன்பொருள் குறியீடாக்குகிறது, பிரேம்கள் தனிப்பயன் பைனரி நெறிமுறை மூலம் WebSocket வழியாக எவ்வாறு பயணிக்கின்றன, Web பக்கமானது WebCodecs மூலம் டிகோடிங் செய்து WebGL2 மூலம் CPU பிரதி இல்லாமல் எவ்வாறு வழங்குகிறது, இழப்பு கண்டறிதல், திரை சுழற்சி மாற்றம் மற்றும் தொலை தொடு கட்டுப்பாடு எவ்வாறு கையாளப்படுகிறது, மேலும் MediaProjection வாழ்க்கைச் சுழற்சி எவ்வாறு ஒத்திசைவில் வைக்கப்படுகிறது என்பதை விளக்குகிறது.
PlainApp பாதுகாப்பு: ஆழமான பகுப்பாய்வு
உள்ளக Wi-Fi-இல் PlainApp உங்கள் தரவை எவ்வாறு பாதுகாக்கிறது — திறந்த மூலக் குறியீட்டிலிருந்து ஆதாரத்துடன்.
Wi-Fi Aware போக்குவரத்து வடிவமைப்பு — அயலக கண்டுபிடிப்பு & தரவு பாதைகள்
PlainApp எப்படி Wi-Fi Aware-ஐ (NAN — Neighbor Awareness Networking) அதன் பியர் போக்குவரத்து fallback சங்கிலியின் நடுத்தர அடுக்காக, LAN (அதே-சப்நெட் HTTPS) மற்றும் BLE (கடைசி-முயற்சி GATT RPC) இடையே பயன்படுத்துகிறது என்பதை இக்கட்டுரை விளக்குகிறது. இரண்டு PlainApp சாதனங்கள் வெவ்வேறு SSID-களில், guest vs IoT VLAN-களில், அல்லது Wi-Fi உள்கட்டமைப்பே இல்லாமல் இருக்கும்போது பேச உதவுவது Wi-Fi Aware — DHCP சேவையகத்திடமிருந்து IP முகவரி தேவையே இல்லாமல்.
BLE போக்குவரத்து வடிவமைப்பு — செய்திகள் & கோப்பு பதிவிறக்கங்கள்
LAN அல்லது Wi-Fi Aware இரண்டும் கிடைக்காதபோது PlainApp எப்படி Bluetooth Low Energy வழியாக அரட்டைச் செய்திகளைத் தள்ளுகிறது மற்றும் கோப்புகளைப் பதிவிறக்குகிறது என்பதை இக்கட்டுரை விளக்குகிறது. BLE உத்தரவாதமான fallback: மெதுவானது, ஆனால் எந்த IP இணைப்பும் இல்லாமலேயே வேலை செய்கிறது. இக்கட்டுரை wire வடிவம், இரண்டு-அடுக்கு chunking வடிவமைப்பு, ஒரே நேரத்தில் நிகழும் போக்குவரத்து எப்படி முன்னுரிமைப்படுத்தப்படுகிறது (மற்றும் செய்யப்படுவதில்லை), மற்றும் ஒவ்வொரு கோரிக்கைக்குப் பிறகும் ஒவ்வொரு இணைப்பும் ஏன் இடிக்கப்படுகிறது ஆகியவற்றை உள்ளடக்கியது.
பியர் & சேனல் அரட்டைக் கட்டமைப்பு
PlainApp-ன் ஆஃப்லைன்-முதல் அரட்டை முழுமையாக எப்படி வேலை செய்கிறது என்பதை இக்கட்டுரை விளக்குகிறது: ஒரு செய்தி UI-இல் ஒரு தட்டலிலிருந்து பியர் போக்குவரத்து வழியாக மற்றொரு சாதனத்திற்கு எப்படிப் பயணிக்கிறது, குழுச் சேனல்கள் பல உறுப்பினர்களுக்குச் செய்திகளை எப்படி fan-out செய்கின்றன, மற்றும் நெட்வொர்க்குகள் மறையும்போது அமைப்பு எப்படிப் பின்னடைவாக இருக்கிறது. பெயரிங் (இரண்டு சாதனங்களை bootstrap செய்யும் நம்பிக்கை மற்றும் விசைப் பரிமாற்றம்) தனி பெயரிங் பாய்வுக் கட்டுரையில் கொடுக்கப்பட்டுள்ளது.
பெயரிங் பாய்வு
இரண்டு PlainApp சாதனங்கள் முதன்முறையாக ஒன்றையொன்று நம்புவதை எப்படி நிறுவுகின்றன என்பதை இக்கட்டுரை விளக்குகிறது — அவை எப்படி ஒன்றையொன்று கண்டுபிடிக்கின்றன, விசைகளைப் பரிமாறிக்கொள்கின்றன, மற்றும் ஒவ்வொரு அரட்டைச் செய்தி, கோப்பு பரிமாற்றம், மற்றும் presence ping-ம் அதற்குப் பின்னர் மறைகுறியாக்கப்படும் பகிரப்பட்ட ChaCha20 போக்குவரத்து விசையை எப்படி எட்டுகின்றன. இந்த விசையைப் பயன்படுத்தும் அரட்டை மற்றும் சேனல் கட்டமைப்பு தனி அரட்டைக் கட்டமைப்புக் கட்டுரையில் கொடுக்கப்பட்டுள்ளது.