Page 1 of 1

Windows 10 iot kommunikation zwischen anwendungen

Posted: Fri Jan 15, 2016 1:01 pm
by Slaud
Hallo hab mich gerade begonnen ein bischen einzuarbeiten und bin echt begeistert was ich bis jetzt ausprobieren konnte,
Ich habe eine frage:
Also ich schreibe eine anwendung die mir UDP packete sendet und empfängt, wird parametrierbar sein ip adresse länge und so...
In meinem Hauptprogramm( andre anwendungen) würde ich gerne auf die Daten zugreifen bzw Parameter übergeben.
Wie gehe ich das am besten an?
Soll man da einen eigenen Treiber Programmieren oder
alles in eine DLL Packen gefällt mir aber nicht so,
oder was gibts sonnst noch für möglichkeiten?

Re: Windows 10 iot kommunikation zwischen anwendungen

Posted: Sat Jan 16, 2016 11:49 am
by Hiswif
Schönen guten morgen.

Da ich bei deiner Frage noch nicht so ganz durchsteige was du für Infos brauchst kann ich dir nur den Tipp geben dich mal mit Softwarearchitektur auseinander zu setzen. Eigentlich alles was du dazu brauchst findest du hier.

https://msdn.microsoft.com/en-us/library/ff650706.aspx

Ansonnsten würde ich dich bitten deine Frage etwas spezieller zu stellen. Geht es dir jetzt um die archtiktur oder um die Netzwerkgeschichte? Du sprichst außerdem von 2 Anwendungen. Laufen die zeitgleich? Auf getrennten Systemen? Das alles ist wichtig um dir helfen zu können. Umso genauerbdu beschreibst umso genauer werden unsere Antworten sein.

Mfg
His

Re: Windows 10 iot kommunikation zwischen anwendungen

Posted: Sat Jan 16, 2016 1:24 pm
by ghans
Benutz doch wieder TCP/IP-Sockets auf dem localhost. Overhead
ist ein guter Preis für den Komfort , der Pi2 ist ja kein Arduino.

Du könntest auch etwas noch "abstrakteres" wie
MQTT oder HTTP/REST benutzen - alles Geschmackssache.

Wenn dir die Wörter "Abstraktion" oder "Overhead"
Bauchschmerzen bereiten , bin ich sicher , dass shared memory
oder Pipes auch von Windows unterstützt werden.

Google Suchwörter sind "IPC" oder "Interprozesskommunikation" .

https://msdn.microsoft.com/en-us/librar ... s.85).aspx

ghans

Re: Windows 10 iot kommunikation zwischen anwendungen

Posted: Wed Jan 20, 2016 6:49 pm
by Slaud
oh ja jetzt bin ich eigentlich schon ein bischen schlauer geworden :-)

wo mir noch ein paar sorgen mache ist ob mein Programm oft genug abgearbeitet werden kann wollte eigentlich ein Task jede 1ms ausführen, funktioniert aber mal mit den standard windows timern nich, auserdem ist es leider kein Echtzeitbetriebssystem,
aber irgendwie schaffen das diverse Hersteller ja auch ;-)
als Nächstes werde ich mal versuchen die Multimedia Timer zu verwenden, und Testen wie zuverlässig die funktionieren :-)

Re: Windows 10 iot kommunikation zwischen anwendungen

Posted: Thu Jan 21, 2016 5:55 am
by Hiswif
Heho. Was solle so ein Task denn alle 1ms machen? Irgendwie klingt das nicht sehr vernünftig Tasks über einen Timer zu starten. Was genau solle denn dein Programm am ende können?

Re: Windows 10 iot kommunikation zwischen anwendungen

Posted: Thu Jan 21, 2016 9:49 am
by ghans
Offentsichtlich meint es Microsoft mit der Isolation von UWP bitterernst. UWP Apps können nicht über loopback-Interface und Sockets IPC betreiben !
Weder untereinander noch mit Win32 ...

https://msdn.microsoft.com/en-us/librar ... s/hh780593

Die einzig "erlaubte" und abgesegnete Weg sind "App Services" : https://msdn.microsoft.com/en-us/librar ... 87314.aspx


ghans

Re: Windows 10 iot kommunikation zwischen anwendungen

Posted: Thu Jan 21, 2016 3:51 pm
by Hiswif
Offentsichtlich meint es Microsoft mit der Isolation von UWP bitterernst
Müssen sie ja, wenn sie garantieren wollen das Apps ohne Abhängigkeiten auf allen Systemen laufen. Dafür gibt es doch aber den AppService. Und wenn wir mal ehrlich sind, eine Kommunikation zwischen Anwendungen über das Loopback interface ist doch eher ein workaround gewesen weil es den Service noch nicht gab.

MFG

His

Re: Windows 10 iot kommunikation zwischen anwendungen

Posted: Thu Jan 21, 2016 4:09 pm
by crumble
Wenn Du jede ms einen Prozess starten willlst, wird dein Pi in die Knie gehen. Alleine der aufbau der Verwaltungsstrukturen und das Speichermanagement duerften zu viel sein.

Versuch es mit Multithreading. Das wurde genau fuer solche Anforderungen entwickelt.