Zwei Programme kommunizieren mit TCP/IP und senden Prozessinformationen

  • VB.NET
  • .NET (FX) 3.0–3.5

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Cheffboss.

    Zwei Programme kommunizieren mit TCP/IP und senden Prozessinformationen

    Moin! :)
    Ich habe zwei Anwendungen gleichzeitig am Laufen.
    Die eine Anwendung schickt der anderen per TCP/IP Informationen.
    Die Hauptanwendung bekommt von der auslesen.exe die Informationen.
    Bei der Einstellung „Automatisch“, funktioniert alles sehr gut!
    Aber leider nicht bei „Manuell“.
    (Siehe Projekt)

    Ich möchte dass wenn man auf den btnProzesseAkualsieren klickt.
    Folgendes passiert!
    :!:
    • Alle Prozesse sollen in die Listview kopiert werden...
    • Sobald auslesen.exe alle Informationen geschickt hat…
    • Dann soll auslesen.exe sofort beendet werden...
    • Jetzt sollte das Prozessfenster geöffnet werden!

    Das Beispielprojekt habe ich bereits hochgeladen.
    Übrigens wenn jemand sich wundert wieso ich es über TCP/IP mache, das muss so sein!
    Ich denke das Problem kann ein experte schnell lösen.

    Freue mich sehr, auf eure Hilfe und Tipps.
    BIG THX



    Edit1:
    Ich habe das Problem, ganz einfach mit Anonyme Pipes lösen können.
    Wenn man einen String per Winsock(TCP/IP) sendet, wird das Programm gleich beendet und wartet nicht, bis alle Daten gesendet worden sind.
    Zum Glück mit Anonyme Pipes wird die Datei vollständig gesendet und dann der Prozess beendet.
    Also die Lösung heißt:
    Anonyme Pipes verwenden! ;)
    Visual Basic.NET 8o
    MS-SQL
    8o

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Cheffboss“ ()

    @Cheffboss Warum verwendest Du Framework2?
    In MyApplication.OnCreateMainForm() steht Form1 drin, die es nicht gibt.
    Trage ich dort frmHaupt ein, knallt es in Winsock.Timer1_Tick.
    Wenn Du das behoben hast, machen wir weiter.
    Und:
    Schreib, was ich machen muss, um Deinen Effekt zu reprodutzieren.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany
    Danke, für deine Antwort. :)
    Ich habe zum Testen mal das .NET Framework 2.0 eingestellt.
    Das ich aber später noch ändere.

    Ich versuche nun, den Effekt zu beschreiben, damit man genau sieht was ich machen möchte.
    Man startet das Programm und klickt auf den Button "Aktualisieren und Prozesse anzeigen“.
    Dann startet ein weiteres Programm mit dem Namen „auslesen.exe“.
    Diese Progamm liest, alle laufende Prozesse aus, und sendet diese per TCP/IP zurück zum Hauptprogramm.
    Sobald das auslesen.exe fertig ist, also die Daten erfolgreich übertragen hat, soll es sich beenden.
    Und wenn die Zeit auf 0 ist, dann soll sofort alles abgearbeitet werden.
    Das Prozessfenster sollte nun angezeigt werden.

    Ziel des Programmes ist es, wenn zu viele Prozesse bzw. Fenster geöffnet sind, das nicht mehr gebrauchte Programme beendet werden können.
    Außerdem muss es per TCP/IP sein, da ich beide Programme brauche, und nicht immer den Inhalt auf die Festplatte lesen und schreiben zu müssen.
    Ich hoffe, dass ich eine passende Lösung finde.
    BIG THX

    edit2:
    Ich habe eventuell ein Lösung gefunden.
    Ich werde meinen Fortschritt mit euch teilen.

    edit3:
    Ich habe das Problem jetzt doch selber gelöst.
    Die Lösung habe ich oben geschrieben.
    Danke.
    Visual Basic.NET 8o
    MS-SQL
    8o

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Cheffboss“ ()