VB Server der Befehle an Client senden kann (TCP)

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Gonethu.

    VB Server der Befehle an Client senden kann (TCP)

    Hallo,

    ich habe gestern Abend versucht, mir mal die TcpServer und TcpClient funktionen in VisualBasic anzuschauen.


    Erstmal, was will ich überhaupt erreichen?

    -Ich möchte auf meinem PC den Server laufen lassen, der Befehle zum Client (der auf einem anderen PC ist) schickt.

    Das heißt ich habe mir erstmal nen TCP Chat herausgesucht, doch habe es nicht verstanden, wie das ganze mit Befehlen gehen würde.

    -Als beispiel: Ich schicke eine Anfrage vom Server zum Client, das der Client alle Prozesse zum Server schicken soll und diese dort z.B. in einer Listbox auflistet.

    Und was ich gerne wissen möchte:

    Ich weiß wie man in VB Prozesse auflisten kann, doch wie erreicht man das in einer Server Client Architektur.

    Ich nehme auch gerne Links mit Tutorials entgegen, was man nicht weis, kann man ja lernen :D

    LG
    Willkommen im Forum. :thumbup:

    Gonethu schrieb:

    Ich möchte auf meinem PC den Server laufen lassen, der Befehle zum Client (der auf einem anderen PC ist) schickt.
    Da haste was noch nicht ganz verstanden.
    Ein Server läuft permanent und reagiert auf Anfragen, die ein Client ihm schickt.
    -----
    Was verstehst Du unter "Prozesse schicken"?
    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!
    Hallo RodFromGermany,

    Stimmt. Ich habe es gerade bemerkt. Ich meine natürlich das bei mir auf dem PC der Client läuft und auf dem anderen PC der Server, also einmal anders rum. :D

    ----------------

    Ganz einfach:

    Quellcode

    1. ​Dim a As Process
    2. For Each a In Process.GetProcesses()
    3. ComboBox1.Items.Add(a.ProcessName)
    4. ListView1.Items.Add(a.ProcessName)
    5. Next


    Das der Server seine Prozesse (also die Namen) zu mir schickt (zum Client).

    Hoffe das ich das jetzt richtig erklärt habe, sonst einfach nochmal nachfragen :)

    Gonethu schrieb:

    Dim a As Process
    kannst Du in VB weglassen, wenn Option Infer On ist (default).
    Soll der Server die Prozessnamen an den Client schicken?
    Client an Server: DoIt
    Server sammelt alle Prozesse auf (packt sie in einen String mit vereinbarten Trenn- und Endezeichen)
    Server an Client: AnswerFeddich.
    Gugst Du hier.
    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!
    @Gonethu

    Selbstverständlich kannst Du dies über TcpServer und TcpClient lösen - aber persönlich (jeder Jeck ist anders!) bevorzuge ich mittlerweile eher WCF-Service - siehe:

    einfaches WCF (asynchron mit MVVM) Tutorial
    Mini-Tipp: WCF - Chat (Windows Communication Foundation)
    codeproject.com/Tips/642296/He…ver-Client-Example-of-WCF
    bzw. googeln!

    Scheint nur im ersten moment komplizierter zu sein - aber wenn einmal verstanden, erleichtert es die Sache ungemein, da man den Service wie eine ganz normale Function oder Sub aufrufen kann!

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

    Danke @Thias @RodFromGermany

    @Thias: werde mir das mal angucken


    @RodFromGermany: werd mir mal die Microsoft beispiele angucken und muss wahrscheinlich bisschen rumprobieren. (neu was das ganze mit TCP angeht)

    LG


    Edit: Habs jetzt anhand vom Microsoft beispiel verstanden und werde es jetzt auf eine WindowsForm umschreiben

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