Hi,
erstmal, ich wusste nicht genau was ich als Überschrift nehmen sollte, aber naja...^^
Also ich versuche gerade das Loginpacket zu senden, jedoch versteh ich das mit der Stringübergabe nicht so ganz. Also der Aufbau des Packets ist ja:
[cs]
[Byte] Locale
[Short] ID-Length
[String] ID
[Short] PW-Length
[String] PW
[Short] ServerID
[/cs]
Am Ende soll es dann z.B. so aussehen:
[cs]
ID = test
PW = blubb
Data = 28-04-00-74-65-73-74-05-00-62-6C-75-62-62-E0-00
[/cs]
Wie erstelle ich nun so einen Inhalt mit dem BitConverter?
Ich kann es zwar so angeben, aber zufrieden bin ich damit überhaupt nicht:
[cs]
Dim data As Byte() = {&H28, 4, 0, &H74, &H65, &H73, &H74, 5, 0, &H62, &H6C, &H75, &H62, &H62, &HE, 0}
'Ausgabe:
Debug.Print(BitConverter.ToString(data))
[/cs]
Also das klappt, jedoch gebe ich da selbe die Länge ein, jedoch weiß ich nicht wie ich diese nun automatisch auslesen lasse und es dann der data-Variable übergebe..
Bis jetzt habe ich den BitConverter nur benutzt um ein Packet aufzubauen, wo z.B. ein Skill ausgeführt wird, da muss ich jedoch einfach nur folgendes benutzen (Beispiel):
[cs]
Dim data As Byte() = {0, 0, 0, 0}
Dim skillID As Int32 = 1234
BitConverter.GetBytes(skillID).CopyTo(data, 0)
'Ausgabe:
Debug.Print(BitConverter.ToString(data))
[/cs]
Bei einem String klappt es jedoch nicht..