Eine TCP-Verbindung für n Aktionen

  • VB.NET
  • .NET (FX) 4.0

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von zn-gong.

    Eine TCP-Verbindung für n Aktionen

    Hallo zusammen,

    es soll eine TCP-Verbindung zu einem Server aufgebaut werden. Dieser führt mittels übermittelter Kommandos dann iwelche Aktionen durch, welche hier nicht weiter von Belang sind. Der User soll nun an Hand von RadioButtons sich für eine Aktion entscheiden. So wird dann immer die gleiche Verbindung aufgebaut, nur mit unterschiedlichen Kommandos, die übermittelt werden.

    Soweit so gut. Aktuell habe ich für jede Aktion einen eigenen Sub angelegt, in dem der Verbindungsaufbau einzeln durchgeführt wird. Da ich die Verbinungen aber auch auf Auf- sowie Abbau überwachen möchte, dachte ich mir, dass es vllt. sinnig wäre eine globale Verbindung zu programmieren, auf die ich dann nur immer wieder zurückgreifen kann. Leider weiß ich hier nicht wie das genau geht.

    Kann mir jemand weiterhelfen?
    Global ist vlt. der falsche Ansatz.

    Dein Ziel sollte es sein eine gescheite Architektur aufzubauen. Les dich dazu mal ganz allgemein ins Thema OOP ein.
    Die Subs kannst du nämlich nachher als Teil einer programmierten Klasse machen ;)
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Also ich würd mir eine zentrale Sub bauen, die die Comands (als String) empfängt. In der Sub machst du dann mittels Using-Direktive eine TCP-Verbindung auf - dann brauchst du dich auch nicht mehr um das disposen kümmern :D. Den Teil in dem du das ganze sendest würd ich in einen

    VB.NET-Quellcode

    1. Try
    2. tcp.Send(...)
    3. Catch ex As Exception
    4. 'Console.Writeine(ex.Message.toString())
    5. MessageBox.Show(ex.Message.toString())
    6. tcp.Dispose() 'Nur als Sicherheit, falls dir irgend ein Fehler unterläuft, bleibt dir kein
    7. 'TCP-Objekt im RAM hängen(ich mach das halt immer aus Vorsich :D
    8. End Try

    umschließen und fertig

    Lg Radinator
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell

    Daniel Baumert schrieb:

    Ich denke wir sollten RATs hier nicht weiter unterstützen.
    Du kannst hinter allem irgendetwas Bösartiges vermuten.
    Wenn du alle missbrauchbare Technik abschaffen möchtest: Post, Telefon, eMail, TCP/IP, Internet überhaupt...
    Nimm den Köchen ihre Messer weg. Sie könnten damit jemanden ermorden...

    Remote Administration Tools sind in großen Firmennetzwerken ein Segen, der den Admins viel Zeit erspart.
    Nur weil manche mit derselben Technik Trojaner bauen, sind sie noch lange nicht grundlegend bösartig.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Hallo,

    Erstell dir ne Protocol Klasse die du dann mit JSON Serialisierst, durch's Netz jagst und wieder Deserialisierst. So mache ich meine Netzwerk Protocole, bei Complexen Sache decodiere ich den JSON-String in Base64 und setze darfor noch ein Byte mit : oder anderen Trennzeichen. Und Fertig. Sehr easy :)

    Natürlich kann man da noch Header und was weiß ich noch alles machen.

    LG, Herbrich
    Hallo,

    Was an einen RAT bitte Bösartigm, Windows hat sogar einige drinnen (in der Server Version). Ein RAT ist eig nur ein Remote Administration Tool, und in diese Kategorie fällt ja auch Remote Desktiop und die MMC Shell.

    LG, Herbrich