steinadler Geschrieben 2. Juni 2006 Teilen Geschrieben 2. Juni 2006 Hallo, ich habe ein Socket, wo ich mittels Callback Verbindungen überwache. Wie kann ich herausfinden, ob noch Connection-Anforderungen ausstehen? Gruß Steinadler Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Spachten Geschrieben 2. Juni 2006 Teilen Geschrieben 2. Juni 2006 weißt du denn vorher wieviele anforderungen durchlaufen werden oder ist das dynamisch? eventuell solltest du versuchen über eine art checksumme herauzufinden ob Anzahl erforderlicher Anforderung = Anzahl durchlaufender Anforderungen ich benutze callbacks nur zur statusabfrage von asynchronen threads, insofern weiß ich nicht ob eine checksumme möglich bzw. sinnvoll ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
steinadler Geschrieben 2. Juni 2006 Autor Teilen Geschrieben 2. Juni 2006 weißt du denn vorher wieviele anforderungen durchlaufen werden oder ist das dynamisch? Nee... das ist nicht dynamisch. Da ist praktisch ein Server, der überwacht die Anforderungen von Clients. Und sobald einer connected erstellt der Server ein neues Objekt. Ich weiß praktisch nicht, wieviele Anforderungen von den Clients kommen, bzw. wie viele noch ausstehen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Spachten Geschrieben 2. Juni 2006 Teilen Geschrieben 2. Juni 2006 hm interessante sache . weiß der client wieviele anforderungen er vorhat zu senden? wenn dem so ist kann der ja vorher ne zahl rüberschicken oder er sendet zum schluss ne notification, dass er fertig ist. ansonsten fällt mir dazu nix weiter ein. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
steinadler Geschrieben 2. Juni 2006 Autor Teilen Geschrieben 2. Juni 2006 weiß der client wieviele anforderungen er vorhat zu senden? wenn dem so ist kann der ja vorher ne zahl rüberschicken oder er sendet zum schluss ne notification, dass er fertig ist. Ich kann den Client leider nicht beeinflussen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 2. Juni 2006 Teilen Geschrieben 2. Juni 2006 Mit Socket.Poll und SelectRead auf den Socket, der lauscht, solltest du herausbekommen können, ob mindestes eine anzunehmende Verbindung aussteht. Reicht das aus, oder brauchst du tatsächlich die Anzahl? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Argbeil Geschrieben 8. Juni 2006 Teilen Geschrieben 8. Juni 2006 Hi, für jede Verbindungsanforderung wird die Methode aufgerufen die den XY Delegate implementiert. Wenn du nicht in dieser Methode landest stehen auch keine Anforderungen mehr aus. Das ganze ansynchrone Socket Modell ist leider sehr schlecht dokumentiert, es muss in etwa so laufen... Du hast eine Einsprungsmethode in der machst du unter anderem ein socket.BeginAccept(new AsyncCallback(callbackAccept), socket); Beim ersten ConnectRequest wird die callbackAccept aufgerufen: private void callBackAccept(IAsyncResult ar) { Socket serverSocket = (Socket)ar.AsyncState; Socket newClientSocket = serverSocket.EndAccept(ar); // Jetzt hast du einen Socket auf dem du dem Client Daten senden kannst. // Um Daten vom Client zu empfangen musst du newClientSocket.BeginReceive(...) aufrufen // Damit der Server weitere Verbindunganforderungen akzeptiert muss du wieder ein serverSocket.BeginAccept machen } Das bedeutet immer wenn es eine Anforderung gibt wird die callBackAccept aufgerufen. Willst du keine Verbindungen mehr annehmen lässt du das BeginAccept aus. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.