TCP/IP Kommunikation mit Passwort abfrage

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    TCP/IP Kommunikation mit Passwort abfrage

    Hallo Leute

    Dieses mal habe ich folgendes Problem.
    Ich möchte über TCP eine verbindung mit meinem programm herstellen um befehle an dieses Programm zu senden. Dies ist an sich kein problem jedoch möchte ich das der client sich zuerst einloggt, dan eine positive login meldung bekommt und so seine ersten befehle weitergeben kann. Nun ist meine frage wie mach ich das genau? habe mir bereits das ausfürhliche TCP/UDP tutorial angeschaut jedoch hat dies nicht wirklich funktioniert.
    Dann musst du Server und Client entsprechend programmieren. Der Client connected und sendet seine Anfrage ob er denn Befehle senden darf. Der Server antwortet darauf (und merkt sich natürlich seine Antwort!). Wenn dann Befehle vom Client kommen weiß der Server ob er sie ignorieren soll oder ausführt. Der Client passt seine GUI jenachdem ob er senden darf oder nicht an, damit der Benutzer bescheid weiß.

    Wie du informationen austauschst bleibt dir überlassen. z.B. könntest du ganz einfach und stumpf Strings verschicken, "client#1;darfichsenden" oder "server;jadarfstsenden". Das ist natürlich nicht sonderlich schön und es empfiehlt sich eine "Ebene" tiefer zu gehen und statt der Strings Bytes zu verschicken - dafür eigenen sich Enums (im endeffekt eine Zahl) sehr gut, du kannst mit der Bitconverter-Klasse viele Datentypen in Byte-Arrays (die immer gleichgroß sind! wichtig!) umwandeln. Ab einem gewissen umfang solltest du eine Klassen für jede Nachricht schreiben, die von einer entsprechenden Oberklasse erbt - so kannst du ganz leicht neue Nachrichten hinzufügen...

    lg
    irgendwie ist das beides nicht ganz das was ich haben möchte wobei mir durchaus klar ist das es bei msdn viel gibt nur leider ist dies für mich häufig nicht richtig verständlich ich arbeite auch nur hobby mäßig an vb und studiere das nicht irgendwie oder so bin also eig voll noob :D
    Naja, der Code von mir ist für ein Spiel gedacht - lässt sich aber 1:1 auf dein Problem übertragen weil Informationsaustausch nunmal Informationsaustausch ist. Zu dem Zeitpunkt als ich mir das "ausgedacht" hatte ich auch nur Hobbymäßig programmiert, Ausrede zählt also nicht :thumbsup:

    Aber fang' ruhig mal klein an und versende String-Nachrichten - der Empfänger bastelt die Nachricht dann auseinander (String.Split, Substring, etc sollten dafür reichen) und macht irgendwas (z.B. eine Variable verändern, die es fortan erlaubt Befehle von jemand anderem auszuführen). Du kannst das wie ein Chat-Gespräch aufbauen: Frage - Antwort - Frage - Antwort - ...

    StormBoomer schrieb:

    irgendwie ist das beides nicht ganz das was ich haben möchte wobei mir durchaus klar ist das es bei msdn viel gibt nur leider ist dies für mich häufig nicht richtig verständlich ich arbeite auch nur hobby mäßig an vb und studiere das nicht irgendwie oder so bin also eig voll noob :D
    Dann fang vlt. besser mit was einfacherem an.
    Um Remoting via Internet zu realisieren muß man halt über ungefähr alle Basics (Vererbung, Enums, Events, ...) sowie auch fortgeschrittene Kenntnisse (Threading, Delegaten, gerne auch anonyme Methoden,...) verfügen.

    Mit dem Buch von Manawyrm kommst du noch am schnellsten voran.