Monimoin,
ich möchte gern einige Daten von einem Programm an mehrere Programme senden (als Broadcast).
Ist das mit einer Pipe möglich? Falls kein Empfangsprogramm nicht auf ist soll es keinen Fehler geben aber wenn ein oder mehrere Empfangsprogramme ein Datenpaket verlieren sollen sie es mitbekommen und anzeigen können.
Es wäre toll wenn mir hier jemand einen Tipp für einen Anfang geben kann.
Thx und BG Thommy
Es gibt 10 Arten von Menschen. Die die Binärcode verstehen und die die ihn nicht verstehen.
Hallo Thommy,
muss es unbedingt auf einer Pipe basieren? Ein UDP-Broadcast wäre sonst eine Alternative (ev. in Verbindung mit WCF).
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Ich bin ziemlich sicher, dass broadcasting über (named) pipes nicht geht. Der von gfoidl vorgeschlagene Weg mit Wcf/UDP dürfte ganz gut geeignet sein.
LaTino
"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)
Moinmoin,
danke für die schnelle Antworten. Es muss keine Pipe sein und ich schau mir mal ein UDP Broadcast an. Ich bin noch niht so firm mit C# und .Net und da kam mir nur der Einfall eine Pipe zu verwenden 😉
Danke und BG Thommy
Es gibt 10 Arten von Menschen. Die die Binärcode verstehen und die die ihn nicht verstehen.
Ist UDP nicht ein Netzwerk Protokoll? (bin noch ein Anfänger 😐)
Die Programme sollen alle auf einem Rechner laufen, ist es da sinnvoll das via UDP zu erstellen?
VG Thommy
Es gibt 10 Arten von Menschen. Die die Binärcode verstehen und die die ihn nicht verstehen.
Hallo Thommy,
ja UDP ist ein Netzwerkprotokoll -> User Datagram Protocol
So etwas aber bitte selbst googln.
ist es da sinnvoll das via UDP zu erstellen?
es ist eine Möglichkeit und wird vom Framework unterstützt. Somit ist der Aufwand für die Implementierung gering und das ist schon vorteilhaft.
Ich muss allerdings gestehen, dass ich einen rein lokalen UDP-Broadcast noch nicht durchgeführt haben, kann mir aber auch nicht vorstellen dass es dabei Probleme geben sollte. Probiere es einfach einmal aus.
Aber wenn du uns mitteilst welche Daten du lokal als Broadcast senden willst, können wir vllt. andere Wege in Betracht ziehen.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Udp ist ein verbindungsloses Netzwerk-Protokoll.
Geht natürlich auch lokal - dafür nimmt man am besten die Adresse "127.0.0.1".
Bei UDP muss man nur schnell genug sein, wenn viele Daten kommen. Im Zweifel sollte man das Empfangen und das Verarbeiten der Daten in 2 Threads trennen, da der Netzwerk-Buffer sehr klein ist.
Leider sieht man Probleme im Netzwerkstack nur mit WinDump(tcpdump), da gibt es keine Logs.
Danke für eure Hilfe,
ich bin in diesem Bereich echt noch ein kleiner Anfänger 😐
Zu meinen Problem bzw. Programm(e)
1 Programm (Sender)
Dieses Programm ließt Daten via COM Port ein und verarbeite diese grob vor. Es entstehen ca. 16 Pakete a 12 Byte jede Sekunde die weiter gereicht werden sollen (an mehrere Empfangsprogramme)
Ich hoffe es ist halbwegs verständlich und ich bin für jede Idee offen 😉
Danke und VG Thommy
Es gibt 10 Arten von Menschen. Die die Binärcode verstehen und die die ihn nicht verstehen.
Hallo Thommy
Wenn ich das richtig verstanden habe, hast du auch Kontrolle über die anderen Programme. Dann könntest du dir auch mal Zyan Communication Framework von Rainbird anschauen. Da brauchst du dich dann nicht mehr um den ganzen Broadcast-Kram selber kümmern.
Gruß, Alf
Moinmoin,
@FZelle: Es sollen einfach verschiedene Programme sein da nicht immer alle gebraucht werden und man manuell nur die startet welche auch benutzt werden, es geht bestimmt auch anders aber das war meine erste Idee 😉
@ALF: danke für denn Tipp, ich schau mir das Framework gerne mal genauer an. Weißt du (oder jemand anders hier im Forum) ob das Framework auch unter Cross Plattform via Mono funktioniert. Ich habe bis jetzt immer versucht nur native .Net Funktionen zu verwenden, da das Zielsystem ein Raspberry Pi Zero ist. COM Schnittstelle und auch Pips mit nur einem Empfänger haben bis jetzt auch gut funktioniert 😉
Danke für eure Tipps, BG Thommy
Es gibt 10 Arten von Menschen. Die die Binärcode verstehen und die die ihn nicht verstehen.
Hi,
wie auf der Projektseite erwähnt läuft Zyan auch unter Mono - setzte es selbst auf nem RaspberryPi 2 ein.
LG
Das Klingt doch toll 😉
Ich werde es heute mal ausprobieren.
Danke für alle Infos und Tipps 👍
VG Thommy 😉
Es gibt 10 Arten von Menschen. Die die Binärcode verstehen und die die ihn nicht verstehen.
Hallo nochmal,
ich versuch gerade mein Projekt auf .Net CORE (Visual Studio 2017 auf Windows und OSX) zu portieren. Leider wird Zyan nur von .Net Framework unterstützt.
Fehlermeldung:
Install-Package : Das Paket Zyan 2.8.0 ist nicht mit netcoreapp1.1 (.NETCoreApp,Ver
sion=v1.1) kompatibel. Paket Zyan 2.8.0 unterstützt Folgendes:
- monoandroid10 (MonoAndroid,Version=v1.0)
- net35 (.NETFramework,Version=v3.5)
- net40 (.NETFramework,Version=v4.0)
- net45 (.NETFramework,Version=v4.5)
- net46 (.NETFramework,Version=v4.6
gibt es eine Möglichkeit das Paket auch unter .Net core zu nutzen?
Thx and cya Thommy
Es gibt 10 Arten von Menschen. Die die Binärcode verstehen und die die ihn nicht verstehen.
Die GitHub Seite mit dessen Machern wäre die bessere Adresse das Nachzufragen als hier
https://github.com/zyanfx/Zyan
.NET Remoting wird aber mit .NET Core eher nicht funktionieren....
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Okay ich versuch es mal auf der GitHub Seite 😉
thx and cya Thommy
Es gibt 10 Arten von Menschen. Die die Binärcode verstehen und die die ihn nicht verstehen.