Telnet Daten empfangen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Facebamm.

    Telnet Daten empfangen

    Hallo,
    ich will per VBnet diesen TeamSpeak Query Befehl per TCP ausführen: clientgetdbidfromuid cluid=+tl/Q9e4wXBISr8O8OrCmtWH2hw=
    Wie dies geht weiß ich, jedoch gib dieser Befehl diesen(cluid=+tl\/Q9e4wXBISr8O8OrCmtWH2hw= cldbid=254 error id=0 msg=ok) String zurück und diesen würde ich gerne in eine Variable speichern, jedoch habe ich keine Ahnung wie ich diesen String abfangen könnte, ich habe auch keine Lösung mit der Read Funktion des NetworkStreams im Internet gefunden ;D
    Dies ist mein aktueller Code:

    VB.NET-Quellcode

    1. Dim tcpClient As New System.Net.Sockets.TcpClient()
    2. tcpClient.Connect("xxxxxxxx", 10011)
    3. Dim networkStream As NetworkStream = tcpClient.GetStream()
    4. Dim sendBytes As [Byte]()
    5. sendBytes = Encoding.ASCII.GetBytes("login xxxxx xxxxxx" + vbCrLf)
    6. networkStream.Write(sendBytes, 0, sendBytes.Length)
    7. sendBytes = Encoding.ASCII.GetBytes("use port=9987" + vbCrLf)
    8. networkStream.Write(sendBytes, 0, sendBytes.Length)
    9. sendBytes = Encoding.ASCII.GetBytes("clientupdate client_nickname=xxx" + vbCrLf)
    10. networkStream.Write(sendBytes, 0, sendBytes.Length)
    11. sendBytes = Encoding.ASCII.GetBytes("clientgetdbidfromuid cluid=+tl/Q9e4wXBISr8O8OrCmtWH2hw=" + vbCrLf)
    12. 'Ich würde die Ausgabe gerne hier abfangen
    13. networkStream.Write(sendBytes, 0, sendBytes.Length)
    14. sendBytes = Encoding.ASCII.GetBytes("logout" + vbCrLf)
    15. networkStream.Write(sendBytes, 0, sendBytes.Length)

    Ich würde mich sehr über eine Antwort freuen :D

    Mit freundlichen Grüßen,
    Tobi

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

    VB.NET-Quellcode

    1. Dim networkStream As NetworkStream = tcpClient.GetStream()
    2. Using reader As New StreamReader(networkStream)
    3. If (networkStream.DataAvailable) Then 'prüfen ob daten im stream liegen
    4. reader.ReadToEnd() 'dann lesenn
    5. End If
    6. End Using
    Hey,
    ich weiß wir sind hier nicht im Source Code Austausch, aber ich bin einfach zu dumm dazu...
    Bei mir kommt als Ausgabe "System.IO. StreamReader" und danach stürtzt es beim senden der logout bytes mit dieser Meldung ab: "Zusätzliche Informationen: Auf das verworfene Objekt kann nicht zugegriffen werden."

    VB.NET-Quellcode

    1. Dim tcpClient As New System.Net.Sockets.TcpClient()
    2. tcpClient.Connect("xxxxx", 10011)
    3. Dim networkStream As NetworkStream = tcpClient.GetStream()
    4. Dim sendBytes As [Byte]()
    5. sendBytes = Encoding.ASCII.GetBytes("login Leitstelle xxxxx" + vbCrLf)
    6. networkStream.Write(sendBytes, 0, sendBytes.Length)
    7. sendBytes = Encoding.ASCII.GetBytes("use port=9987" + vbCrLf)
    8. networkStream.Write(sendBytes, 0, sendBytes.Length)
    9. sendBytes = Encoding.ASCII.GetBytes("clientupdate client_nickname=Leitstelle" + vbCrLf)
    10. networkStream.Write(sendBytes, 0, sendBytes.Length)
    11. sendBytes = Encoding.ASCII.GetBytes("clientgetdbidfromuid cluid=+tl/Q9e4wXBISr8O8OrCmtWH2hw=" + vbCrLf)
    12. networkStream.Write(sendBytes, 0, sendBytes.Length)
    13. Using reader As New StreamReader(networkStream)
    14. If (networkStream.DataAvailable) Then 'prüfen ob daten im stream liegen
    15. reader.ReadToEnd() 'dann lesenn
    16. reader.Read()
    17. End If
    18. MsgBox(reader.ToString)
    19. End Using
    20. sendBytes = Encoding.ASCII.GetBytes("logout" + vbCrLf)
    21. networkStream.Write(sendBytes, 0, sendBytes.Length)