German Hilfe bei der PacketBildung

voiD

Member
Licensed User
Longtime User
Hey, ich hoffe hier kann man mir nen bisschen helfen,

ich muss für eine APP das Source RCON Protocol nachbauen nur scheitert es in jeder Weise wie ich versuche. Hab schon im Englischen Forum geschrieben jedoch wird mir dort nur gesagt was der Fehler ist und kein Lösungsansatz gegeben was mich nicht weiter bringt..

Englischer Thread mit Source

Hoffe ihr könnt mir helfen
 

voiD

Member
Licensed User
Longtime User
Ich kanns leider nicht. Mit Protokollen und mit Streams im speziellen stehe ich ein wenig auf Kriegsfuss :)

Also TCP, UDP, Streams -> NOGO
Jede Art von "normalem" http-aufrufen (httputils) -> LIKE

Ja ich eigentlich auch nur benötige ich das für eine App :S
 

klaus

Expert
Licensed User
Longtime User
Ich habe auch keine Erfahrung in diesem Bereich.
Aber ein Problem ist hier:
In dieser Zeile
SERVERAUTH(12) = rCON.GetBytes("ascii")
ist SERVERAUTH(12) ein Byte aber rCON.GetBytes("ascii") ist ain ByteArray !
B4X:
Sub Button1_Click
    Dim SERVERAUTH() As Byte
    Dim rCON As String = "flo1993lol"

    SERVERAUTH(0) = rCON.Length + 13
    SERVERAUTH(4) = 0
    SERVERAUTH(8) = SERVERDATA_AUTH
    SERVERAUTH(12) = rCON.GetBytes("ascii")
    AStreams.Write(SERVERAUTH)

    ToastMessageShow("Finisched",True)
End Sub
Neuer Code (nicht getestet) :
B4X:
Sub Button1_Click
    Dim rCON As String = "flo1993lol"
    Dim SERVERAUTH(12 + rCON.Lenght) As Byte
    SERVERAUTH(0) = rCON.Length + 13
    SERVERAUTH(4) = 0
    SERVERAUTH(8) = SERVERDATA_AUTH
    For i = 0 To temp.Length - 1
        SERVERAUTH(12 + i) = temp(i)
    Next
    AStreams.Write(SERVERAUTH)

    ToastMessageShow("Finisched",True)
End Sub
 

Knoppi

Active Member
Licensed User
Longtime User
Hallo voID,

eigentlich ist in englischen Forum alles richtig beschrieben.
Du hast nur beim Abändern des Codes vergessen die Zeile
B4X:
SERVERAUTH(12) = rCON.GetBytes("UTF8")
zu löschen

Dieser Code sollte funktionieren:
(Code aus Post #5)
B4X:
Dim SERVERAUT1H(128) As Byte
Dim rCON As String = "flo1993lol"

SERVERAUTH(0) = rCON.Length
SERVERAUTH(4) = 0
SERVERAUTH(8) = SERVERDATA_AUTH
 
For i = 0 To rCON.Length - 1
   SERVERAUTH(12+i) = rCON.SubString2(i,i+1).GetBytes("UTF8")(0)
Next
 
AStreams.Write(SERVERAUTH)
viele Grüße
Knoppi
 
Top