Announcement

Collapse
No announcement yet.

Event auslösen wenn im Ringpuffer(Queue Klasse) Daten liegen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Event auslösen wenn im Ringpuffer(Queue Klasse) Daten liegen

    Hallo,

    Kann mir jmd. erklären wie ich ein Ereignis auslöse, wenn im Ringpuffer Daten liegen!


    Hintergrund:

    Habe einen Client zur Netztwerkkommunikation(TCPIP) programmiert! Asynchron empfanger ich Daten von einem Server! Jedesmal wennn ich Daten empfange, schreibe ich diese zuerst in einen Fifo! Da ich nicht weiss, wieviele Daten wieoft kommen, möchte ich ein Ereignis auslösen, sobald die Eigenschaft COUNT des Ringpuffers größer Null ist! Möchte aber auf keinen Fall dies über einen Timer abfragen(nicht pollen!)

    Mfg

  • #2
    hast du deine Routine schon umgestellt also wirst du nicht schon benachrichtigt wenn Daten ankommen, das würde ja schon reichen weil wenn Daten ankommen weißt du auch dass sie in deinem Fifo auch sind und damit der Count größer null
    Unsere Jugend ist unerträglich, unverantwortlich und entsetzlich anzusehen! - Aristoteles

    Comment


    • #3
      Nein, so einfach ist das leider nicht!

      a) bekomme unregelmäßig mal viele mal wenige Nachrichten innerhalb kürzester Zeit!

      b) in einem empfangenen Datenpaket KÖNNEN mehere Steuerbefehle stehen die durch CHR(13) getrennt sind. Diese Daten splitte ich und schiebe sie erst dann in den Queue!

      Gibts da keine Möglichkeit ein Event auszulösen!???

      Comment


      • #4
        Gibts da keine Möglichkeit ein Event auszulösen!???
        Sobald du Daten in die Queue schreibst Event werfen. Wenn du Queue<T> benutzt würde ich Enqueue überschreiben und von dort einen Event feuern.

        Comment

        Working...
        X