Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von 7.e.Q
Thema: Straße und Hausnummer trennen?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Uaaah, Zombiethreadapokalypse! :-D

Ich bin mir nicht sicher, ob's eine on-fits-all Lösung dafür gibt. Aber wahrscheinlich irgendwas mit look-ahead. Ich bin auch schon eine Weile raus aus diesem Thema. So... ca... 12 Jahre.

Thema: VS Projekt in DropBox - Zugriffsgezänk
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Da ich git in dem Projekt bereits verwende, ist es in der Tat die naheliegendste Lösung, dabei einfach den Checkin per Post-Build Script zu machen.

Thema: VS Projekt in DropBox - Zugriffsgezänk
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Zitat von Darth Maim
Bevor du ein Programm schreibst, dass die Synchronisation von der DropBox an und ausschaltet, würde ich lieber im Post/Pre-Build in eine richtige Versionsverwaltung einchecken, dafür musst du nicht mal ein Programm schreiben, sondern einfach nur git mit den richtigen Parametern aufrufen.

Danke! Ich denke, das ist tatsächlich die gangbarste Lösung. Dann werden wirklich auch nur Dinge eingecheckt, die erfolgreich kompilieren und ich muss mich auf der Gegenseite nur ums Auschecken kümmern, was ja nicht so sehr Problem ist, wie das Einchecken. Warum bin ich da nicht selbst drauf gekommen? Egal... ich klopf das mal auf Usability ab.

Thema: Bitmap in VS bearbeiten: Gezeichnete Pixel verschwinden sofort wieder
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Naja, ich dachte halt, es sei am effektivsten, von meinem Problem ein Video zu machen. Ein Bild sagt mehr als 1000 Worte, findet ihr nicht?

Thema: Bitmap in VS bearbeiten: Gezeichnete Pixel verschwinden sofort wieder
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Klingt nach 'nem Bug.

MrSparkle, danke für den Hinweis. Ich dachte eigentlich, dass mit Hilfe des Videos die Frage eindeutig genug gestellt sei... was ist denn für dich nicht klar ersichtlich?

Thema: Bitmap in VS bearbeiten: Gezeichnete Pixel verschwinden sofort wieder
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hi Leute,

kann mir eventuell jemand dieses Verhalten erklären? http://www.youtube.com/watch?v=cOWBCCEpSAk

Ich kann keine Pixel in einer Bitmap malen. In einer anderen, die nicht im VS erzeugt ist, geht's.

Ergänzung (18:45): "Ich kann keine Pixel [...] malen" heißt hier: sie lassen sich im Visual Studio Bitmap Editor zwar malen, verschwinden aber sofort wieder, sobald ich die Maustaste loslasse. Es handelt sich um Visual Studio Professional 2012 (DEU).

Die Daten dieser Bitmap: 15x15x1bpp

Details zum Studio:


Microsoft Visual Studio Professional 2012
Version 11.0.51106.01 Update 1
Microsoft .NET Framework
Version 4.5.50709

Installierte Version: Professional

LightSwitch für Visual Studio 2012   04938-004-0033001-02324
Microsoft LightSwitch für Visual Studio 2012

Office Developer Tools   04938-004-0033001-02324
Microsoft Office Developer Tools

Rechtschreibprüfung für die Visual Studio 2012-Codeanalyse   04938-004-0033001-02324
Rechtschreibprüfung für die Microsoft® Visual Studio® 2012-Codeanalyse

Teile des International CorrectSpell™-Rechtschreibprüfungssystems © 1993 by Lernout & Hauspie Speech Products N.V. Alle Rechte vorbehalten.

The American Heritage® Dictionary of the English Language, Third Edition Copyright © 1992 Houghton Mifflin Company. Elektronische Version lizenziert von Lernout & Hauspie Speech Products N.V. Alle Rechte vorbehalten.

Team Explorer für Visual Studio 2012   04938-004-0033001-02324
Microsoft Team Explorer für Visual Studio 2012

Visual Basic 2012   04938-004-0033001-02324
Microsoft Visual Basic 2012

Visual C# 2012   04938-004-0033001-02324
Microsoft Visual C# 2012

Visual C++ 2012   04938-004-0033001-02324
Microsoft Visual C++ 2012

Visual F# 2012   04938-004-0033001-02324
Microsoft Visual F# 2012

.NET Reflector Visual Studio Extension   8.0.2.313
Integrates .NET Reflector into Visual Studio to allow you to seamlessly debug into third-party code and assemblies, even if you don't have the source code for them.

Visit www.reflector.net for more information.

Copyright (c) 2009-2012 Red Gate Software Inc.

CodeMaid   #114
CodeMaid is an open source Visual Studio extension to cleanup, dig through and simplify our C#, C++, XAML, XML, ASP, HTML, CSS and JavaScript coding.

Written by Steve Cadwallader, for more information visit http://www.codemaid.net/

JetBrains ReSharper 7.0.1   Full Edition build 7.0.1098.2760 on 2012-08-27T14:31:12
JetBrains ReSharper 7.0.1 package for Microsoft Visual Studio. For more information about ReSharper, visit http://www.jetbrains.com/resharper/. Copyright © 2003–2013 JetBrains, Inc.

Microsoft Python Tools for Visual Studio   1.5.51026.0
Python Tools for Visual Studio provides intellisense, project support, project and item templates, as well as a REPL window for Python development.

Microsoft Python Tools for Visual Studio - Django Integration   1.5.51026.0
Provides templates and integration for the Django web framework.

Microsoft Python Tools for Visual Studio - Profiling Support   1.5.51026.0
Profiling support for Python projects.

Mindscape Web Workbench   1.0
Accelerate and simplify your Web development experience with Visual Studio integrated Sass, Less and CoffeeScript support

NuGet-Paket-Manager   2.2.40116.9051
NuGet-Paket-Manager in Visual Studio. Weitere Informationen zu NuGet finden Sie unter "http://docs.nuget.org/".

PostSharp   3.0.11.0

PreEmptive Analytics Visualizer   1.0
Microsoft Visual Studio-Erweiterung zur Visualisierung aggregierter Zusammenfassungen vom PreEmptive Analytics-Produkt.

SQL Server Data Tools   11.1.20627.00
Microsoft SQL Server Data Tools

Web Developer Tools   1.0.30710.0
Microsoft Web Developer Tools besteht aus den folgenden Komponenten:
Seitenprüfung: Ein Tool, mit dem Webanwendungen auf effiziente Weise zerlegt und Front-End-Probleme diagnostiziert werden können.
Webpublishing: Erweiterungen, die für Webpublishing für gehostete Server und lokale Server erforderlich sind.
Webformularvorlagen: Umfasst die Standardvorlagen für Webformularanwendungen.
Editor-Erweiterungen: Umfasst HTML-, CSS- und JS-Editor-Erweiterungen, die die Entwicklungserfahrung erheblich optimieren.

Danke

Grüße,
Hendrik

Thema: VS Projekt in DropBox - Zugriffsgezänk
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Nein, keine Sourcecodeverwaltung im Sinne von git/svn/cvs, sondern lediglich Synchronisation. Ich nutze DropBox, weil es automatisch synchronisiert und ich mich nicht um Checkin/Checkout kümmern muss - ich bin vergesslich und mein Arbeitsweg ist zu lang, um vergessene Checkins/manuelle Syncs zu korrigieren.

Zur echten Revisionskontrolle nutze ich git.

Thema: VS Projekt in DropBox - Zugriffsgezänk
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Das Verfahren habe ich schon verwendet, allerdings musste ich die Erfahrung machen, dass ich manchmal vergesse, es wieder einzuschalten und dann am jeweils anderen Ende einen alten Stand habe... leider ungeeignet ob dieser persönlichen Charakterschwäche.

Thema: VS Projekt in DropBox - Zugriffsgezänk
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hi Leute,

ich habe eine meiner Solutions in meiner DropBox liegen, damit ich sowohl von zuhause als auch aus dem Labor daran arbeiten kann. Das funktioniert weitestgehend problemlos, bis auf eine kleine nervige Kleinigkeit: immer mal wieder kommt es beim Kompilieren vor, dass sich DropBox und Visual Studio bezüglich der Zugriffsrechte auf die zu erstellenden bzw. zu synchronisierenden Dateien in die Haare kriegen. Zu merken ist das immer dann, wenn VS den Streit verliert und sich beschwert, dass es eine PDB oder eine DLL oder eine EXE nicht erzeugen kann, weil sie von einem anderen Prozess verwendet wird.

Hat da eventuell jemand eine Lösung oder einen Workaround parat, mit dem man möglichst genau so komfortabel, aber ohne die lästige Zankerei ("Ich will!" - "Nein ich!!!"... Kinder... tzzz) in der DropBox arbeiten kann?

Danke!

Viele Grüße,
Hendrik

Thema: [ASP.NET] Hierarchisch organisierte Daten zentral bearbeiten
Am im Forum: Web-Technologien

Im Grunde beherrsche ich HTML, aber die Übergabe von Collections muss ich mir in der Tat angucken.

Jedoch, was ich brauche, ist weniger fertiger HTML-Code als viel mehr eine zündende konzeptionelle Idee...

Thema: [ASP.NET] Hierarchisch organisierte Daten zentral bearbeiten
Am im Forum: Web-Technologien

Okay, mein Problem ist einerseits die Darstellung, also die Struktur des HTML Dokuments mittels dessen ich die Daten editierbar mache und andererseits die Rückgabe der geänderten Daten an das Backend.

Da will mir irgendwie nichts vernünftiges einfallen, wie man das am besten realisiert. Als ein Gesamtformular? Als ein Formular pro Unterknoten auf Ebene 1? Jeden Node in einem eigenen Formular?

Wie bekomme ich den Baum, der ja aus vielen Instanzen unterschiedlichster Klassen besteht, sauber an das Backend zurückgegeben?

Thema: [ASP.NET] Hierarchisch organisierte Daten zentral bearbeiten
Am im Forum: Web-Technologien

Hmm... Ich sollte ergänzend hinzufügen, dass...

a) ... bereits Daten existieren (als XML-Datei)
b) ... die Datenstruktur feststeht, bis auf eine Ausnahme: die Nodenamen der Ebenen 1 - 3 unterhalb des Root-Knotens

Ich hatte diese Datenstruktur schon in einem anderen Thread angesprochen wegen eines XML Schemas und ob es möglich ist, ein solches für eine solche etwas ungewöhnliche XML Struktur zu erstellen.

Die Daten, um die es geht, sind, für Browser mit einem XSLT versehen, dort einzusehen: http://bit.ly/XRgzxJ (verzeiht, dass ich einen Shortener nutze; ich möchte vermeiden, und hoffe es damit zu erreichen, dass die URL über Google gefunden werden kann).

Die grundsätzliche Struktur wird sich nicht mehr ändern. Was sich ändern kann, sind jedoch, wie angedeutet, die Node-Namen und Positionen auf den Ebenen 1 - 3 unterhalb des Root-Knotens. Die Anzahl von 3 Ebenen bleibt vorerst bestehen.

Thema: [ASP.NET] Hierarchisch organisierte Daten zentral bearbeiten
Am im Forum: Web-Technologien

Hi Leute,

ich habe einen Haufen in einer Baumstruktur organisierte Daten (Objekte verschiedener Klassen). Diese Daten möchte ich gerne in ASP.NET zentral, also ales auf einer einzigen Seite, editierbar machen. Dazu zählt nicht nur, dass einzelne Attribute dieser Daten verändert werden können sollen, sondern auch weitere "Zweige" und "Blätter" zu dem Baum hinzugefügt, (rekursiv) gelöscht und (ebenfalls rekursiv) verschoben werden können sollen.

Hat da jemand eine zündenden Idee, wie man das am besten mit ASP.NET MVC 3 realisiert?

Danke!

Cheers,
Hendrik

Thema: Welche Möglichkeiten gibt es, 2D und später 3D Spiele in C# zu programmieren?
Am im Forum: Rund um die Programmierung

Für C# definitiv Unity3D. Nicht nur für Spiele geeignet; wir haben sie im letzten Jahr als KI-Engine für unseren Roboter verwendet (Wegfindungsroutine; leider auch ein Alleinstellungsmerkmal der Pro-Version).

Thema: Undefinierte Node-Namen; mit XSD möglich?
Am im Forum: Datentechnologien

Ah, guck ich mir mal an, danke!

Thema: Undefinierte Node-Namen; mit XSD möglich?
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: XML

Hi Leute,

ist es möglich, in einem XML Schema zu definieren, dass n Ebenen unterhalb des Rootnodes Nodes kommen, die keinen festen Namen, aber dennoch mindestens ein festes Attribut haben? Und ist es möglich, zu definieren, dass ab Ebenen unterhalb dieser n Ebenen mit unspezifiziertem Namen nur noch eine fest definierte Struktur folgen darf?

Folgender Hintergrund: ich definiere mir Adress-IDs mittels einer XML-Datei. Diese Adress-IDs bestehen aus drei Bytes. Ich verwende sie, um eine selbstentwickelte Hardware über UDP-Pakete zu steuern (die drei Adress-Bytes legen fest, welche Komponente ich anspreche). Sie sind in der XML Datei so definiert, dass ich sie per XPath direkt erreichen kann. Beispiel (rot = variabel/unspezifiziert; grün=fest/spezifiziert:


<IDTree>
<!-- Zwischen hier... -->
  <Staubsauger id="0x00">
    <Sensoren id="0x00">
      <FilterFuellstand id="0x00" />
      <DrehzahlVentilator id="0x01" />
    </Sensoren>
    <Aktoren id="0x01">
      <DrehzahlVentilator id="0x00">
<!-- ... und hier in der Hierarchie sind die Node-Namen unspezifiziert -->
<!-- Unterhalb dieser Ebene sind die Node-Namen und die Hierarchie fest spezifiziert -->
        <Description>
          <ShortDesc>Setzt die Drehzahl und Richtung des Saugventilators</ShortDesc>
          <Field type="int" bitLength="32" name="Drehzahl" />
          <Field type="byte" bitLength="8" name="Drehrichtung">
            <Value value="0x00" means="Ansaugen" />
            <Value value="0x01" means="Ausblasen" />
          </Field>
        </Description>
      </DrehzahlVentilator>
    </Aktoren>
  </Staubsauger>
</IDTree>

Somit kann ich eine Adress-Bytesequenz über /IDTree/Staubsauger/Sensoren/DrehzahlVentilator ansprechen und erhalte dadurch a) bessere Lesbarkeit, b) bessere und c) zentrale Wartbarkeit, wenn sich was an den IDs ändert. Da ich in einem Team an der Hardware arbeite, ist c) wichtig, weil Änderungen oder Erweiterungen an den Adressen natürlich für alle Bereiche des Projekts gelten sollen. Wildwuchs soll vermieden werden.

Fest spezifiziert sein sollen ausnahmslos alle Attribute, wie ich sie im Beispiel genannt habe. Das id-Attribut soll für die Adress-Zweige verpflichtend sein. Die anderen Attribute sollen teilweise optional (mit Standardwert) oder ebenfalls pflicht sein.

Unterhalb der Ebene, auf der sich beispielsweise FilterFuellstand oder DrehzahlVentilator befinden, lege ich, wie im Beispiel zu sehen, eine Dokumentationsstruktur ab. Sie ist fest definiert, beginnt mit einem Node mit spezifischem Namen "Description" und erhält darunter ein paar ebenfalls fest benamte Nodes mit definierter Hierarchie.

Nun ist die kurze und knackige Frage: ist es möglich, diese Vorgaben in ein XML Schema zu gießen?

Vielen Dank!

Cheers,
Hendrik

Thema: Thread-Synchronisierung, Pause, auf Hardware-Event warten...
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat von Abt
Und wenn das alles sauber umgesetzt ist dann sollte das auch keine Hirnvermusung sein.

Und genau das ist das Problem... Die Anwendung ist über Jahre gewachsen, nein, lass es mich "gewuchert" nennen. Da ist leider nichts mehr sauber drin umgesetzt. Aber um von vorn anzufangen und all die Erfahrungen, die ich im Laufe der Zeit gemacht habe, sauber in einer neuen Software zu verpacken, fehlt leider auch die Zeit. ****** Deadline.

Thema: Thread-Synchronisierung, Pause, auf Hardware-Event warten...
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Okay, das mit den WaitHandles funktioniert. Ist allerdings gewaltige Hirnvermusung. Parallel in Threads zu denken, macht keinen Spaß. Gibt es da Methoden, die das Mitdenken bei Multithreading-Anwendungen vereinfachen, den Kopfcompiler verbessern?

Alter Falter...

Thema: Thread-Synchronisierung, Pause, auf Hardware-Event warten...
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi Leute,

ich habe hier ein Problem, das mir das Gehirn ein wenig vermust... folgendes:

in einer Anwendung wird ein IronPython-Script ausgeführt, das sequenziell bestimmte Methoden einer C#-Klasse abarbeitet. Diese Methoden laufen im IronPython-Thread synchron, blockieren also die Ausführung des IronPython-Scripts, sodass jede Methode wirklich erst dann aufgerufen wird, wenn die vorherige beendet ist.

Intern laufen diese Methoden hingegen asynchron. Sie führen in einem eigenen Thread ein Kommando auf einer Hardware aus und der Thread wartet dann auf ein von der Hardware ausgelöstes Complete-Ereignis. Dieses Ereignis lässt die Methode dann letztlich auch im IronPython-Script zurückkehren und selbiges die nächste Methode starten. Das funktioniert bis jetzt ganz brauchbar, auch wenn ich da noch auf die echten Thread-Sync Mechanismen verzichte und an deren Stelle quick'n'dirty zyklisch eine volatile bool'sche Variable abfrage. Beziehungsweise derer zwei, weil die Methoden eigentlich immer darauf warten müssen, dass genau zwei Geräte "Complete" zurückmelden.

Darüber hinaus möchte ich nun aber eine Möglichkeit einbauen, die Ausführung der einzelnen Methoden aus einem anderen Thread heraus zu pausieren. Das heißt, es soll nicht mehr nur auf die "Complete"-Ereignisse der Hardware gewartet werden, sondern zusätzlich und nur sofern von außen angefordert noch auf ein "Vorgang-Fortsetzen"-Ereignis.

Wie ist bei so etwas der Königsweg, um das zu erreichen? Welche Mechanismen zur Threadsynchronisierung nutzt man dabei am besten?

Vielen Dank!

Cheers,
Hendrik

//edit: by the way: ich nutze async/await und Task

Thema: Namenskonventionen Datenbank und EF
Am im Forum: GUI: WPF und XAML

Abgesehen davon, dass der Thread tot zu sein scheint; ich vermute "RL" bedeutet Relation.

Thema: Func<...> und Action<...> jetzt mit 16(!) Parametern !!!
Am im Forum: Smalltalk

... oder den Compiler/die Sprache entsprechend erweitern, dass die Zahl der Parameter explizit angegeben werden kann und nach oben praktisch keine Grenze hat.

Ich stimme da Herbivore zu. Besser haben als brauchen.

Thema: Seltsame grafische Artefakte bei eigenem virtualisiertem Canvas
Am im Forum: GUI: WPF und XAML

Hmm... könnte sowas sein wie die Artefakte bei Games, die auftreten, wenn man VSync deaktiviert hat und schnelle Bewegungen ausführt... ist aber nur eine sehr unbegründete Vermutung.

Thema: Ein UDP Client für Broadcast Receive und Send an spezifische Adresse?
Am im Forum: Netzwerktechnologien

Hi Leute,

kann man die selbe Instanz eines UdpClient nutzen, um sowohl einerseits Broadcast Pakete zu empfangen und andererseits Pakete an eine spezifische Adresse zu versenden? Oder macht das Probleme?

Danke!

Viele Grüße,
Hendrik

Thema: Ori Brafman und Rom Brafman: "Click" (Die 5 Stufen der Verletzlichkeit)
Am im Forum: Buchempfehlungen

Danke. Das hab ich überlesen...

Thema: Ori Brafman und Rom Brafman: "Click" (Die 5 Stufen der Verletzlichkeit)
Am im Forum: Buchempfehlungen

Buch? Ich finde darunter nur einen Blogpost.

//edit: wenn ich bei Amazon danach suche, ist der erste Eintrag eine Aluleiter. Keine gute Werbung... :D

Thema: UdpClient empfängt nichts, während ein zweiter UdpClient sendet
Am im Forum: Netzwerktechnologien

Okay, ich danke dir. Ich werde berichten, ob und was die Änderung bewirkt hat, sobald ich sie implementiert habe.

Thema: UdpClient empfängt nichts, während ein zweiter UdpClient sendet
Am im Forum: Netzwerktechnologien

Ah, okay, stimmt, das geht ja auch. Ja, das probiere ich mal (Donnerstag, dann bin ich wieder im Labor)

Thema: UdpClient empfängt nichts, während ein zweiter UdpClient sendet
Am im Forum: Netzwerktechnologien

Okay. Hab ich das korrekt verstanden, ich sollte das derzeit quasi "event"-basierte Lesen in einen Thread auslagern, der zyklisch pollt und neue Daten in eine Queue<byte[]> packt?

Die Queue<byte[]> habe ich schon, nur dass derzeit noch mittels BeginReceive/EndReceive die Datenpakete dort hineingelegt werden. Ich werde mal ausprobieren, sofern ich deinen Vorschlag richtig interpretiert habe, inwiefern Polling an dem Verhalten etwas ändert.

Bei der Gegenstelle handelt es sich zwar derzeit noch um ein C# Programm, das unter Mono auf einem RaspberryPi läuft. Jedoch wird es mittelfristig durch ein anderes ARM Cortex Board auf Basis des STM32 ersetzt, das die UDP Pakete quasi "direkt" generiert, ohne den Overhead eines CLR-Prozesses auf einem richtigen Betriebssystem. Die darauf laufende Firmware übernimmt das Verpacken direkt. Performanceprobleme sollten auf der Seite also schon bald keine Rolle mehr spielen.

Ich werde die oben erwähnt Queue<byte[]> nun, der Threadsicherheit wegen, durch eine ConcurrentQueue<byte[]> ersetzen. Bisher habe ich aber auch mit der normalen Queue keine Probleme.

Thema: UdpClient empfängt nichts, während ein zweiter UdpClient sendet
Am im Forum: Netzwerktechnologien

Ich habe eine Steuersoftware für einen autonomen Roboter geschrieben, die mit der Roboterhardware inzwischen über UDP (vorher direkt per UART, dort kam mir ein ganz ähnliches Verhalten unter) kommuniziert. Die Firmware auf der Bridge zwischen dem CAN-Bus und dem Steuerrechner verpackt CAN-Nachrichten in ein UDP Paket und verschickt dieses an die Broadcast-Adresse des Subnetzes. Meine Software empfängt diese Pakete, wertet sie aus und verschickt ihrerseits Kommandos an die Bridge.

Die Fahr- und Drehgeschwindigkeit des Roboters ist per Regelkreis geregelt. Die Regler (P/PI/PD/PID, je nach Anwendungsfall) können während einer Regelabweichung durchaus mal bis zu 1000 UDP Pakete (Kommandos für die zwei Fahrmotoren mit Geschwindigkeit und Drehrichtung) pro Sekunde rausfeuern, die alle so ca. 20 - 30 Byte Payload haben. Damit soll möglichst verzögerungsfrei (Totzeiten sind der Tod jeder Regelung) geregelt werden können.

Als Erleichterung habe ich meiner Steuersoftware gesagt, sie soll Pakete wirklich nur noch dann rausschicken, wenn sich die Payload gegenüber dem letzten gesendeten Paket verändert hat, also keine Kommandos mehrfach. Das bewirkt schonmal eine gewisse Entlastung.

Wir nutzen UDP Broadcast, damit zur selben Zeit nicht nur der Steuer-PC im Roboter selbst, sondern auch beliebig viele Entwicklersysteme mit dem Roboter kommunizieren und die Sensordaten und Kommandos mitschneiden können. Bei UART vorher war immer nur ein Gerät zur Zeit anschließbar.

Und, bevor ihr fragt, ja, die Steuersoftware ist in C# geschrieben, der Steuer-PC läuft auf Windows 7 und es funktioniert bis auf ein paar Krücken. Sogar performant und nahezu totzeitfrei. Hätte ich auch nicht gedacht. Ist alles ein bisschen mit Kanonen auf Spatzen geschossen, aber der Effekt auf interessierte Zuschauer ist enorm beeindruckend, wenn sie die Steuersoftware in Kombination mit der auf Unity3D basierenden K.I. in Aktion sehen. :)

Thema: UdpClient empfängt nichts, während ein zweiter UdpClient sendet
Am im Forum: Netzwerktechnologien

Hi Leute,

kann es sein, dass sich zwei UdpClients in die Quere kommen, wenn der eine per BeginReceive/EndReceive-Schleife auf Broadcast Pakete horcht und der andere plötzlich anfängt, auf die Adresse eines Broadcastsenders in schneller Folge Pakete abzufeuern?

Der BC-Versender schickt unentwegt UDP Pakete an die Broadcast-Adresse. Er horcht aber auch auf einem anderen Port auf eingehende UDP Pakete.

Es erscheint mir, dass der BC-Empfänger-UdpClient auf einmal mit Empfangen aufhört, solange der Sender-UdpClient seine Pakete rauspumpt. Erst wenn der Sender-UdpClient mit dem Flooden aufhört, reagiert der BC-Empfänger-UdpClient wieder...

Wireshark sagt mir, dass der BC-Versender auch noch sendet, während er den Flood empfängt und auch verarbeitet. Aber im BC-Empfängerprozess kommt halt während er flutet nix an, obwohl der UdpClient definitiv in einem BeginReceive steht.

Ist das ein erwartbares Verhalten?

Danke

Viele Grüße,
Hendrik