Hey liebe Community, ich stehe mal wieder vor einem Problem dass ich trotz suchen und Tutorials im Internet nicht lösen kann, liegt auch daran dass ich tatsächlich in der Netzwerkprogrammierung noch nichts gemacht habe außer eine Pingabfrage
Ok zum Problem, erstmal was will ich erreichen: Ich möchte zu einem TS3 Server eine Telnet Verbindung aufbauen und über eine Konsole, also mit einer Richtextbox o.a, befehle senden und die Antwort des Servers in der Box ausgeben.
So sieht das ganz mit Putty aus:
Verbinden:
Dann schicke ich einen Login befehl an den Server: 'login serveradmin test'
Dann bekomme ich die nachricht 'error id=0 msg=ok' ausgegeben und gebe dann den Befehl 'help' eine und bekomme eine liste an befehlen:
So das ganze will ich jetzt auch in meinem VB-Projekt machen. Folgenden Code habe ich zusammengeschustert:
-> In der Msgbox wo ich ja eigentlich den gleichen Output erwarte wie im letzten Putty-Konsolenbild bekomme ich jetzt nur die erste Nachricht ausgegeben.
So jetzt ist meine Frage wie kann ich denn alle Zeilen auslesen? Sende und empfange ich falsch?
Wichtig ist auch zu erwähnen dass ich das ganze mit einigen anderen Beispielcodes aus dem Internet probiert habe und auch Beispielprojekte aus dem Internet heruntergeladen habe und immer den gleichen Fehler bekomme, also immer nur die erste Zeile.
Ich hoffe ihr könnt mir helfen das Problem zu lösen
Ok zum Problem, erstmal was will ich erreichen: Ich möchte zu einem TS3 Server eine Telnet Verbindung aufbauen und über eine Konsole, also mit einer Richtextbox o.a, befehle senden und die Antwort des Servers in der Box ausgeben.
So sieht das ganz mit Putty aus:
Verbinden:
Dann schicke ich einen Login befehl an den Server: 'login serveradmin test'
Dann bekomme ich die nachricht 'error id=0 msg=ok' ausgegeben und gebe dann den Befehl 'help' eine und bekomme eine liste an befehlen:
So das ganze will ich jetzt auch in meinem VB-Projekt machen. Folgenden Code habe ich zusammengeschustert:
VB.NET-Quellcode
- Public Sub Send()
- Dim TelnetClient As TcpClient
- Dim ThisStream As NetworkStream
- TelnetClient = New TcpClient("127.0.0.1", 10011)
- ThisStream = TelnetClient.GetStream
- Aktiv_Stream = ThisStream
- Dim log As String
- Dim sendBytes As [Byte]()
- sendBytes = Encoding.ASCII.GetBytes("login serveradmin test" + vbCrLf)
- Aktiv_Stream.Write(sendBytes, 0, sendBytes.Length)
- Aktiv_Stream.Read(sendBytes, 0, sendBytes.Length)
- log += vbNewLine & Encoding.ASCII.GetString(sendBytes)
- sendBytes = Encoding.ASCII.GetBytes("help" + vbCrLf)
- Aktiv_Stream.Write(sendBytes, 0, sendBytes.Length)
- Aktiv_Stream.Read(sendBytes, 0, sendBytes.Length)
- log += vbNewLine & Encoding.ASCII.GetString(sendBytes)
- sendBytes = Encoding.ASCII.GetBytes("sendtextmessage targetmode=3 target=7 msg=Test\shaha" + vbCrLf)
- Aktiv_Stream.Write(sendBytes, 0, sendBytes.Length)
- Aktiv_Stream.Read(sendBytes, 0, sendBytes.Length)
- log += vbNewLine & Encoding.ASCII.GetString(sendBytes)
- MsgBox(log)
- End Sub
-> In der Msgbox wo ich ja eigentlich den gleichen Output erwarte wie im letzten Putty-Konsolenbild bekomme ich jetzt nur die erste Nachricht ausgegeben.
So jetzt ist meine Frage wie kann ich denn alle Zeilen auslesen? Sende und empfange ich falsch?
Wichtig ist auch zu erwähnen dass ich das ganze mit einigen anderen Beispielcodes aus dem Internet probiert habe und auch Beispielprojekte aus dem Internet heruntergeladen habe und immer den gleichen Fehler bekomme, also immer nur die erste Zeile.
Ich hoffe ihr könnt mir helfen das Problem zu lösen