Ist es eine Eigenschaft/Methode für die Bestimmung, wenn ein TcpListener ist derzeit hören?

Zurzeit mache ich so etwas wie dieses:

public void StartListening()
{
    if (!isListening)
    {
        Task.Factory.StartNew(ListenForClients);

        isListening = true;
    }
}

public void StopListening()
{
    if (isListening)
    {
        tcpListener.Stop();

        isListening = false;
    }
}

Gibt es nicht eine Methode oder Eigenschaft innerhalb TcpListener zu bestimmen, ob ein TcpListener gestartet hat, hören (ie TcpListener.Start() aufgerufen wurde)? Kann nicht wirklich Zugang TcpListener.Server ist da, wenn es noch nicht begonnen hat, es nicht instanziiert wurde, aber entweder. Selbst wenn ich könnte, ich bin mir nicht sicher, auch dieses beinhaltet eine Listening-Eigenschaft.

Ist das wirklich der beste Weg?

  • Wie kann man nicht wissen, dass Sie Ihren eigenen code hat namens Start()? Do re-denke das ist ein bit.
  • Es ist eine Benutzeroberfläche. Start wird aufgerufen, wenn der Benutzer auf die Schaltfläche Start auf dem windows-Formular.
  • Wer schrieb den code für das Click-Ereignis-handler? Du nicht? Größere Frage: warum sollte der Benutzer auf eine Schaltfläche klickt?
  • Es ist nur ein Beispiel-Formular für eine einfache Bibliothek, die ich auf Arbeit bin. Ich verstehe immer noch nicht, wie ich bin soll einfach "wissen", es ist Zuhören. Der Zeitpunkt des check boolean ist, damit es nicht erneut starten, wenn es schon gestartet ist, oder es zu stoppen, nachdem es bereits aufgehört.
  • Es gibt nur eine Art von nützlichen TcpListener: einer, der zuhört. Alle TcpListener-Objekt, das nicht zu hören ist nur Platz verschwenden. Sie werden wissen, dass es empfangsbereit ist, weil das Objekt nicht null ist. Erstellen Sie ein TcpListener-Objekt und nicht den Aufruf seiner Start () - Methode keinen Sinn macht.
InformationsquelleAutor Ryan Peschel | 2011-10-03
Schreibe einen Kommentar