Wie kann ich explizit leer ist, wird ein Kanal?

Die kurze version:
Gibt es eine Möglichkeit, ein leerer Kanal gehen ohne neu zu erstellen, oder Durchlaufen Sie?

Dem warum:
Ich bin mit zwei Kanälen senden und empfangen von Daten, und ich habe einen zusätzlichen Kanal, um zu signalisieren, dass eine Verbindung notwendig ist.

Nun, wenn der transport wurde zurückgesetzt/wiederhergestellt ich will 'leere' des zusätzlichen Kanal, um sicherzustellen, dass es keine veralteten andere Anfragen zum zurücksetzen das würde die Sache wieder.

  • mögliche Duplikate von in regelmäßigen Abständen flushing channel in golang
  • Können Sie genauere Angaben über Ihren Fall? Speziell darüber, was Sie wieder mit und warum. Ohne all die details, es klingt für mich wie das wahre Problem, das gelöst werden muss ist, indem junk-Daten in Ihrem Kanal, nicht entfernen es nach-der-Tatsache.
  • Die 2 Kanäle zum senden und empfangen von Daten über ein socket, wo die Daten analysiert, die in einem anderen Teil des Codes übernimmt das Protokoll. Falls das Protokoll Fehler findet möchte ich in der Lage sein, um ein signal-transport-Schicht, die eine Verbindung erforderlich ist. Das ist, warum brauchte ich den zusätzlichen Kanal
  • broto: ich dachte, es wäre schön, wenn ein Datenfluss zu gehen, wo jeder Schritt ist ein bisschen höher als der nächste. Am geringsten ist der transport, dann der nächste in der Kette ist das eigentliche Protokoll, und einen Schritt weiter sein könnte, dass etwas wirkt auf das Protokoll. Auf diese Weise können Sie die swap-Teile, ohne die anderen bits zu wissen (wie z.B. entfernen der transport-und-versenden von bekannten byte-Sequenzen zum testen)
  • Ihre Mitarbeiter werden es Ihnen danken für die Trennung unabhängigen Logik. Socket IO gehört nicht mit Protokoll-spezifische message-parsing.
InformationsquelleAutor Toad | 2014-10-01
Schreibe einen Kommentar