Array per TCP

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von BeefyX.

    Array per TCP

    Heyho :)

    Ich würde gerne wissen wie ich ein
    Array per TCP senden kann. Ich habe einen stehenden Server und 2 Clienten.
    Client eins soll "Tasklist" schreiben, woraufhin Client 2 eine Liste aller Tasks auslesen
    und per TCP an Client eins schicken soll, damit Client 1 die Tasks auflisten kann.

    Mein Code zum auslesen:

    VB.NET-Quellcode

    1. Dim Pr As New List(Of Integer)
    2. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    3. Pr.Clear()
    4. For Each p As Process In Process.GetProcesses
    5. ListBox1.Items.Add(p.ProcessName)
    6. Pr.Add(p.Id)
    7. Next
    8. End Sub


    Hoffe mir kann jem. helfen :P
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
    Einen array kannste so nicht verschicken, aber ihn in blöcke aufteilen, verschicken und zusammensetzen.
    Wenn du hilfe brauchst, kann ich dir eine komfortable TCP dll von mir (und vor allem dank kevin89's easytcplib) geben.
    Damit kannste nämlich eigene Pakete geordnet zusammenstellen, pakete behandeln (also eigenehen, von beiden seiten) und gerne gebe ich dir eine kleine einleitung.
    :)
    Melde dich und du bekommst es ;)
    Kannste auch ohne Lib machen, mach das genauso über einen Befehl wie du die Prozesse auflisten willst.
    Also du schreibst mit einem Client z.B. "Array:\DatenTyp" und der andere Client weiß das jetzt ein Array vom Typ DatenTyp kommt.
    Jetzt schreibt er alle empfangenen Zeichen in das Array. Dann müsstest du halt noch ein Befehl senden damit der Client weiß das das Array nun durchgeaufen ist, z.B. "EndArray" ooder so ähnlich.
    Ich habe das nun mit dem String versucht, mit dem erfolg das ich nun einen Basestring
    übertragen und in ein Array umgewandelt habe. Wie kann ich nun dieses Array in eine Listbox einlesen ?

    Das Array hat ja beliebig viele Stellen,
    also wie machen ?
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
    Und ich habe mich schon wieder am ersten prob aufgehängt.
    Das mit dem Basestring geht nicht, da ich nun eine Fehler beim
    entschlüsseln (sag ich mal so) einen fehler bekomme.

    Also nochmal am Anfang :((
    Wie kann man ein array (List of) über TCP versenden ?

    Entschuldigt meine 'Dummheit'.
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
    Du kannst das Array z.B. auch einfach binär serialisieren und dann übertragen (an einem Stück).
    Eigentlich egal.

    Oder XML, aber geht einwandfrei...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Hab das ganze nu so gelöst:

    VB.NET-Quellcode

    1. Dim f As Array = Pr.ToArray
    2. Dim o As String = Nothing
    3. For Each a As String In f
    4. o = o + a + "°"
    5. Next


    Danach einfach bei "°" gesplittet und in eine ListBox übertragen.
    Ichwar ziemlich schlau wenn man sich die 3 Zeilen Code anschaut :D

    Dankeschön @all
    Erledigt
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!