Universal Ticket.dll - Variablen ganz easy über's Internet versenden

    • Release
    • Closed Source

    Es gibt 107 Antworten in diesem Thema. Der letzte Beitrag () ist von ClonkAndre.

      mrwebber schrieb:

      Okay. Ferndiagnose ist recht schwer. Kannst du evtl. mal dein Projekt zippen und hochladen? Bzw. den relevanten Teil?

      Gruß


      Okay, hänge ich an.

      Ich muss dazu noch sagen, ich habe jetzt mehrere Sachen getestet:
      Anscheinend funktioniert dass ganze wenn ich die Structure auf Public stelle und z.B. im zweiten fenster einen neuen client genau diese structure an zb form1 sendet. Wenn die structure allerding private ist und ich genau dieselbe structure in form2 kopiere und dann sende kommt eine ausnahme, dass der Typ nicht umgewandelt werden konnte. Ticket kann man aber bearbeiten!

      Ist es aber wie im Test Projekt und bei mir der fall, dass es meherer einzelne clients gibt und diese unabhängig voneinander laufen, ist es wie ich beschrieben habe. An sich selber klappt alles, jedoch an jemand anderen kommt nut "Ticket arrived!".

      Hinweis zum Test-Projekt:
      Öffne es bitte mit VS und starte es von dort aus und öffne ebenfalls den Output dass du das "Ticket arrived!" siehst.
      EDIT: Bei Test_Server den Button nicht beachten, war zum vorherigem Test mit 2 Clients in einem Programm

      Danke :)
      Dateien
      • Test.rar

        (181,37 kB, 304 mal heruntergeladen, zuletzt: )

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

      Hallo,

      erstmal vielen Dank für die Arbeit, echt super gemacht, habe allerdings eine Frage.

      Wenn ich den Server starte wird mir der Prozess im Task-Manager angezeigt: Server.vshost.exe
      Beende ich diesen Prozess über den Task-Manager, beendet sich auch der Server, was ja richtig ist. Was mich nur wundert ist, warum startet denn der Prozess sofort einfach neu, ohne mein Zutun ?
      Das selbe Problem habe ich auch mit dem Client.

      Noch ein Hinweis.
      Der Server wird von AVG Antivirus 2015 als Gefährlich eingestuft.

      Gruß
      Micha
      Führst du die Geschichte im Visual Studio aus? Wenn ja, dann is die Sache mit der vsHost exe normal, siehe hier:

      Und das ein Antivir deinen Client/Server der lustig Daten ins Internet versenden kann als gefährlich einstuft ist ebenfalls normal.
      Bilder
      • Unbenannt.png

        13,53 kB, 722×403, 3.027 mal angesehen
      Polling is trolling!

      Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..

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

      Oh, Danke für die Info, das mit VS habe ich nicht gewusst :)

      Das mit dem AV habe ich mir auch gedacht, wobei er nur bei dem Server und nicht bei dem Client anschlägt.
      Kann das vllt an dem Code selber noch liegen, ich meine, heut zutage kenne ich kaum noch Programme die nicht ins Internet horchen oder etwas versenden, mein AV würde ja nur noch Alarm schlagen :)
      Gern :).

      Nunja dafür muss man dann die jeweiligen Antivir-Anbieter anschreiben und das Programm vorstellen, dann nehmen die das unter Umständen in ihre Whitelist auf.
      Polling is trolling!

      Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..

      Nacho schrieb:

      Okay, hänge ich an.


      Danke Nacho, mit dem Beispiel kann man gut arbeiten.
      Ich kann dir sagen, woran es liegt ;)

      Das Struct

      VB.NET-Quellcode

      1. <Serializable> _
      2. Public Structure TestDaten
      3. Dim Name As String
      4. Dim ID As String
      5. End Structure


      Hast du zwei mal definiert. Einmal im Server, und einmal im Client. Jetzt sieht es so aus, als wären das zweimal das gleiche Struct. Das ist leider falsch.
      Intern hat das Struct quasi eine weitere ID, es ist nämlich dem Assembly (also deinem Projekt quasi) zugeordnet. Es heißt nicht TestDaten, sondern ganz offiziell TestServer.TestDaten.
      Das zweite Struct heißt mit vollem Namen dann TestClient.TestDaten. Und somit liegen unterschiedliche Structs vor und es kommt bei der Typconvertierung zu einem Fehler.

      Im Grunde möchtest du normalerweise den Server nur als Relay zur Weiterleitung benutzen. Er sollte in der Regel keine Daten interpretieren, im Klartext: Er sollte dieses Struct gar nicht kennen.
      Das Struct sendest du nur zwischen Clienten hin und her.
      Wenn du jetzt doch eine zentrale Stelle haben möchtest, die quasi so eine übergeordneete Verwaltungsrolle spielt, dann kannst du einen einzigen Client als "Master" benennen. Dazu habe ich auch ein kurzes Video (glaub auf der ersten Seite dieses Beitrags).

      Ich hoffe, das konnte dir weiter helfen!

      Viele Grüße

      PS: Im Anhang eine kleine Änderung, mit der du von Client zu Client senden kannst. Das Struct kann dort wieder private sein.

      EDIT: Und bevor ich's vergesse: Wenn du doch ein Struct zwischen zwei Assemblies austauschen möchtest, dann definierst du dieses in einer Klassenbibliothek, also machst nur dafür eine .dll, welche du in beiden Projekten importierst. Dann hast du auf beiden Seitem wirklich das exakt gleiche Struct :)
      Dateien

      Variablen über das Internet senden? [VB.NET] Universal Ticket.dll :thumbup:
      Lasse deine Programme selbstständig lernen! [VB.NET] Brain.dll
      :thumbsup:

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

      Hey habe schon direkt am beginn einen Fehler den ich sonst noch nie hatte :
      Fehler 1 ".ctor" ist mehrdeutig, da in class "UniversalTicket.UTicketServer" mehrere Arten von Membern mit diesem Namen vorhanden sind. C:\Users\DexXxo\documents\visual studio 2010\Projects\DexXxos uTicket Server\DexXxos uTicket Server\Form1.vb 3 9 DexXxos uTicket Server

      Dies habe ich deklariert:
      Imports UniversalTicket
      Dim Uts123 As New UTicketServer(79, 90, "6077")

      Ich benutze die DLL in VB.net 2010 :/
      In Visual Studio funktioniert es dann werde ich halt Studio benutzen müssen :))
      Hallo,

      wenn ich einen Server erstelle tritt bei dieser Zeile:

      VB.NET-Quellcode

      1. Dim WithEvents uts As New UTicketServer(78, 77, "3290fja39j%§(§&_SERVER-PASSWORD_§=JDf9", Me)

      folgender Fehler auf:

      ".ctor" ist mehrdeutig, da in class "UniversalTicket.UTicketServer" mehrere Arten von Membern mit diesem Name vorhanden sind.


      Leider habe ich keine Ahnung wie ich diesen Fehler beheben kann.

      Dominik
      Bilder
      • Fehlermeldung_uts.JPG

        22,35 kB, 748×63, 212 mal angesehen
      Hi, nativ noch nicht. Dazu hatte ich leider bisher zu wenig freie Zeit bzw. veröffentliche heute ein weiteres Projekt zu einem anderen Thema.
      Du kannst es allerdings so machen:

      1. Du ließt die Bytes der Datei in dein Programm ein: dotnetframework.de/lserver/CodeSampleDetails.aspx?c=2803
      2. Die eingelesenen Daten (deine Datei) liegen nun in einer Variable vor (Byte-Array). Diese schickst du mit einem Ticket über zum anderen PC.
      3. Du speicherst das Byte-Array wieder als Datei ab: dotnetframework.de/lserver/CodeSampleDetails.aspx?c=2802

      Ich hoffe das hilft für's erste.
      Grüße

      Variablen über das Internet senden? [VB.NET] Universal Ticket.dll :thumbup:
      Lasse deine Programme selbstständig lernen! [VB.NET] Brain.dll
      :thumbsup:
      Hey,
      ich finde die Dll auch sehr hilfreich hätte aber noch ein paar Verbesserungsvorschläge/Wünsche:
      -Wenn ich connecte und der andere server nicht an ist dauert es sehr lange bis das fenster nicht mehr gefreezt ist. Den Timeoutwert vielleicht selbst einstellbar machen
      -Wenn ich den server schließe dann verschwindet die form aber die exe bleibt auf :/
      -Das ganze als OpenSource machen? :D

      Sonst ist die Dll mega geil <3