Suchergebnisse

Suchergebnisse 1-23 von insgesamt 23.

  • Benutzer-Avatarbild

    Hallo zusammen, ich bin gerade dabei, ein Programm zu schreiben, dass auf einem Root-Server laufen soll und gerschiedene Game-Server verwalten soll. Ich hatte zunächst mit Arrays gearbeitet, was schon auch funktioniert hat, aber halt sehr sperrig ist (2-dimmensionales Array). Dann hab ich eine eigene structure definiert, hatte aber Probleme mit Schreibzugriffen und hab dann hier im Forum gelesen, dass Klassen hierfür doch ganz gut geeignet wären. Vorweg vielleicht noch: ich bin relativ neu dabei…

  • Benutzer-Avatarbild

    Vielen Dank für eure schnellen Antworten Ich merke, dass ich noch einiges Lernen muss @petaod: ich habe beim Schreiben der Klasse scheinbar nicht so viel gedacht, hätte so viel einfacher sein können @VaporiZed: Warum ich eine Datei nutze zum Daten auslesen, liegt zunächst daran, dass es sehr einfach ist, die Daten zu speichern. Klar die Verarbeitung ist vielleicht nicht so schön, vor allem wenn die Datei nicht genau die erwartete Struktur hat (hab ja auch keine Fehlerüberprüfung drin). Mein Ziel…

  • Benutzer-Avatarbild

    @petaod Danke für den Hinweis, habs mir gleich mal angeschaut, Klimmzüge hats mich dennoch gekostet, aber jetzt gehts über XML ich habe jetzt mal die Option OPTION STRICT ON aktiviert und schon fast alle Fehler behoben, nur bei einem verstehe ich die Fehlermeldung nicht (folgenden Code habe ich aus einem Tutorial): VB.NET-Quellcode (18 Zeilen) beim Compilieren bekomme ich hier einen Fehler (SendToClients ist das Problem): VB.NET-Quellcode (3 Zeilen) Mit der Fehlermeldung Fehler BC36663 "Option S…

  • Benutzer-Avatarbild

    @RodFromGermany: Danke, kann doch so einfach sein @ErfinderDesRades: Ich hab halt selbst nicht viel Ahnung, daher hab ich das aus einem Tutorial, da wurde es halt so gemacht und da es funktioniert, war das für mich i.O. Zum Thema Daten serialisieren: ich habe die Strukturen noch ein wenig erweitert und habe jetzt folgende Klassen: VB.NET-Quellcode (34 Zeilen) Hier noch meine aktuelle Serialize-Funktion: VB.NET-Quellcode (21 Zeilen) Die 3 Variablen Serverstate, ProcessID und SteamCMDPID möchte ic…

  • Benutzer-Avatarbild

    @exc-jdbi: Cool danke, hätte ich jetzt nicht gedacht, dass es so einfach ist @ErfinderDesRades: Die Serialize-Funktion hat nichts mit dem Senden über den Socket zu tun. Dieser Button ist noch vom Tutorial drin, der wird später raus fliegen. Letztendlich soll es so sein, dass das Programm nur auf Anfragen von außen reagiert, also nicht von sich aus sendet. Dazu habe ich einen Handler, der auf eingehende Nachrichten wartet und dann eine Funktion aufruft, die die empfangenen Befehle plausibilisiert…

  • Benutzer-Avatarbild

    So, ich glaube, ich habe jetzt soweit erreicht, was ich programmieren wollte. Vielen Dank euch allen für eure Hilfe cya Igel

  • Benutzer-Avatarbild

    Hallo @xChRoNiKx, klar kann ich machen, auch wenn ich eigentlich fast alles so umgesetzt habe, wie es hier alle empfohlen haben Hier meine Klasse(n) fürs DataHandling: VB.NET-Quellcode (67 Zeilen) Das Senden/Empfangen über TCP habe ich jetzt so umgesetzt: VB.NET-Quellcode (74 Zeilen) und der dazugehörige Code im Hauptform: VB.NET-Quellcode (29 Zeilen) So, ich hoffe das hilft dem ein oder anderen weiter cya Igel

  • Benutzer-Avatarbild

    Ja, sicher hab ich Code von verschiedenen Quellen verwendet. Ich bin leider nicht der VB-Crack, der alles selbst hinbekommt, ich bin eher froh, dass es soweit funktioniert Wenn ich wüsste, wie alles "richtig" programmiert werden muss, dann hätte ich sicherlich einiges anders gemacht Wie wäre es denn richtig mit dem OnLineReceived-EventHandler? cya Igel

  • Benutzer-Avatarbild

    Danke für die Infos, werd ich mir mal anschauen und auch - so gut ich kann - umsetzen Das mit der MessageBox im Catch ist sowieso bescheuert und werde ich rausnehmen (war noch drin fürs testen), da ich ja auch mein Programm über ein Webinterface steuern können will und da ist dann eine Meldung von ner MessageBox eh vollkommen am Ziel vorbei. Dass Try-Catch vermieden werden sollte, sehe ich prinzipiell auch so, eine sinnvolle Fehlerbehandlung ist natürlich der richtige Weg, allerdings kenn ich mi…

  • Benutzer-Avatarbild

    Ich muss jetzt noch ganz blöd fragen: Wenn ich mir die Links zum Thema "wie programmiere ich richtig" ansehe, lese ich dauernd sinngemäß solche Sätze wie "in C# geht das auch nicht, mach das so wie es auch in C# geht.." usw. Man könnte den Eindruck bekommen, als sollte man von VB.net lieber gleich die Finger von lassen und das Ganze mit C# programmieren (dass man von VB die Finger lassen sollte, habe ich mittlerweile verstanden :D). Sicherlich war das nicht die Intension, allerdings frage ich mi…

  • Benutzer-Avatarbild

    Hallo nochmal, ich habe festgestellt, dass ich in eine Exception rein laufe (bei RaiseEvent MessageReceived(Me, ClientData.ReadLine), wenn der Client die Verbindung schließt: System.IO.IOException: "Von der Übertragungsverbindung können keine Daten gelesen werden: Eine vorhandene Verbindung wurde vom Remotehost geschlossen. Wie gehe ich mit sowas um? Sollte ich dann serverseitig die Verbindung schließen und neu öffnen oder gibt es einen anderen Weg? (falls das jetzt thematisch besser in einen ne…

  • Benutzer-Avatarbild

    @ErfinderDesRades: war n bissle blöd ausgedrückt. Das Problem ist, dass ein php-Skript ja einmalig ausgeführt wird, d.h. nach dem Verbindungsaufbau und dem Senden und Empfangen der Nachrichten (was ja momentan überhaupt nicht funktioniert) sollte die Verbindung wieder geschlossen werden, da das Skript ja dann durch ist. D.h. wird das Skript erneut ausgeführt wird wieder eine Verbindung geöffnet und alles wiederholt sich. Da sich der Server "verschluckt" wenn die Verbindung Client-Seitig getrennt…

  • Benutzer-Avatarbild

    So, nachdem ich meine Klasse für die TCP-Kommunikation umgebaut habe (ich habe im Internet nen C#-Code gefunden), funktioniert sie nun. Jetzt möchte ich noch die Möglichkeit haben, das Threading zu stopppen, wenn der Benutzer die externe Kommunikation nicht haben will. So sieht der Code jetzt aus (Code im Hauptprogramm hat sich nicht geändert): VB.NET-Quellcode (93 Zeilen) Zunächst mal vorab: ich weiß, dass Thread.Abort() eine Exception wirft und denn Code dann irgendwo beenden will (was mir ega…

  • Benutzer-Avatarbild

    *Vollzitat entfernt* Bei mir ist das Empfangen das Problem (genauer gesagt das Dim TCPsocket As Socket = TCPServer.AcceptSocket()), aber durch deinen Post bin ich auf die Idee gekommen das TCPserver.Pending() zu verwenden, jetzt klappt es ^^, danke also für den Hinweis Das Ganze sieht jetzt so aus: VB.NET-Quellcode (100 Zeilen)

  • Benutzer-Avatarbild

    Hallo nochmal, ich habe noch ne Frage zu der XML-Geschichte: Gibt es eine Möglichkeit, auch Variablen vom Typ Private zu serialisieren? Bevor jetzt jemand fragt, warum ich sowas will, hier schon mal die Erklärung : Ich habe eine Integer-Variable, die als so ne Art PRIMARY KEY (wie bei Datenbanken) arbeitet. Sie soll nicht manuell veränderbar sein, sondern nur durch ein Sub, das die Variable um eins erhöht. So sieht die Klasse aktuell aus: VB.NET-Quellcode (26 Zeilen) Die Variable MaxServerID wir…

  • Benutzer-Avatarbild

    Danke, wieder was gelernt

  • Benutzer-Avatarbild

    Hallo nochmal Ich versuche gerade für meine Cache-Klasse eigene Funktionen (können auch Properties sein) zu schreiben, die sich auf auf die Subklassen (in dem Fall auf Servers vom Typ List(Of ServerInfo)) beziehen und weiß nicht, wie das gemacht werden muss. Hier nochmal kurz zur Übersicht: VB.NET-Quellcode (5 Zeilen) Was ich nun suche, ist eine Funktion, die sich auf die Liste selbst bezieht und nicht auf ein Element in der Liste, z.B. wie die .count-Funktion. Wie/wo muss ich denn so eine Funkt…

  • Benutzer-Avatarbild

    @VaporiZed: danke erstmal für deine Antwort. ich habe mich glaube ich viel zu knapp ausgedrückt. Mein grundlegendes Problem: Eine Variable aus Servers ist zb ID. Diese ID benutze ich, um einen Server in der Liste eindeutig zu identifizieren (der Listen-Index ist dazu nicht geeignet, denn wenn ich einen Server lösche und einen anderen hinzufüge habe ich den gleichen Index, obwohl es ein anderer Server ist). Das Problem ist jetzt aber, dass ich So nie direkt mit einer ID auf das entsprechende List…

  • Benutzer-Avatarbild

    Zitat von VaporiZed: „Meinst Du ggf., dass jede ServerInfo eine ID hat?“ ja, das meinte ich Mir gings jetzt gar nicht um den Code, der das hin bekommt, das hab ich schon umgesetzt, sondern eher um die Tatsache, wie ich die Funktion/Property hinbekomme, dass diese sich auf die Klasse Servers bezieht und nicht auf die Klasse Cache. Ich weiß nicht, wie ich das vernünftig erklären soll, daher hier ein paar Beispiele: So soll die Funktion/Property aufgerufen werden: VB.NET-Quellcode (4 Zeilen) In dei…

  • Benutzer-Avatarbild

    Zitat von VaporiZed: „Igel schrieb: Ich weiß nicht, wie ich das vernünftig erklären soll ist manchmal ein Zeichen dafür, dass man nicht weiß, was es am Ende werden soll.“ Was es werden soll, weiß ich eigentlich genau, nur habe ich vielleicht nicht immer die richtigen Begrifflichkeiten verwendet. Zitat von VaporiZed: „ Welchen? Data.Count oder Data.Servers.Count? “ Wie geschrieben ist count nur ein Beispiel. Ich möchte meine Funktion/Property auf List(Of ServerInfo) anwenden, also im Beispiel wär…

  • Benutzer-Avatarbild

    Genau das hab ich gesucht. Danke!

  • Benutzer-Avatarbild

    Ja, das hab ich mir auch schon überlegt, nur brauch ich dann oftmals doch die Infos verschiedener Server, deshalb hab ich die Daten bisher noch alle zusammen gelassen in meiner Cache-Klasse. Kannst du mir das erklären? Zitat von ErfinderDesRades: „Function(svi)svi.ID = TargetID“ Ich hab das schon öfter gesehen, diese Funktionen haben glaub auch nen bestimmten Namen, aber mir ist hier bisher nicht klar, wie dieser Funktionstyp an sich funktioniert (also für mich geht nicht hervor, woher die Funkt…

  • Benutzer-Avatarbild

    Cool, gar nicht so dumm, diese Funktion Vielen Dank für die Erkärung! cya Igel