Linux Bedienung über Telnet [Erledigt]

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Elektrolurch
Beiträge: 168
Registriert: 11.10.2007 16:48
Wohnort: 49°26'51.46"N - 8°59'49.06"E
Kontaktdaten:

Beitrag von Elektrolurch »

Hi und Heureka

Ich hab mir mal den Code von Shardik zu Gemüte geführt.
Da ich ja im Prinzip immer den gleichen Server anwähle konnte ich das parsen etwas vereinfachen aber es klappt.
Ich kann mich in den Linux Rechner einloggen und meine Befehle absetzen.

Falls es mal einer braucht hier ist mein Code.

Code: Alles auswählen

DatenBuffer.s = Space(100) 
If InitNetwork() = 0 
  MessageRequester("Error", "Can't initialize the network !", 0) 
  End 
EndIf 
IP.s="192.168.178.24"
Port = 23 
ConID = OpenNetworkConnection(IP, Port) 
If ConID 
  ;Erste Sequenz vom Server prüfen und beantworten
  ReceiveNetworkData(ConID, @DatenBuffer, Len(DatenBuffer)) 
  Soll.s=Chr(255)+Chr(253)+Chr(24)+Chr(255)+Chr(253)+Chr(32)+Chr(255)+Chr(253)+Chr(35)+Chr(255)+Chr(253)+Chr(39)
  If Mid(DatenBuffer,0,12)=Soll
  An.s=Chr(255)+Chr(252)+Chr(24)+Chr(255)+Chr(252)+Chr(32)+Chr(255)+Chr(252)+Chr(35)+Chr(255)+Chr(252)+Chr(39);+Chr(13)+Chr(10)
  If SendNetworkData(ConID, @An, 12) = -1 
  MessageRequester("Error", "Server akzeptiert Antwort nicht.!", 0)  
  EndIf
  Else
  MessageRequester("Error", "Serversequenz unbekannt!", 0)
  EndIf
  Delay (500)
  ;Zweite Sequenz vom Server prüfen und beantworten
  ReceiveNetworkData(ConID, @DatenBuffer, Len(DatenBuffer))
  Soll.s=Chr(255)+Chr(251)+Chr(3)+Chr(255)+Chr(253)+Chr(1)+Chr(255)+Chr(253)+Chr(31)+Chr(255)+Chr(251)+Chr(5)+Chr(255)+Chr(253)+Chr(33)
  If Mid(DatenBuffer,0,15)=Soll
  An.s=Chr(255)+Chr(252)+Chr(1)+Chr(255)+Chr(252)+Chr(31)+Chr(255)+Chr(252)+Chr(33);+Chr(255)+Chr(252)+Chr(39);+Chr(13)+Chr(10)
  If SendNetworkData(ConID, @An, 9) = -1 
  MessageRequester("Error", "Server akzeptiert Antwort nicht.!", 0)  
  EndIf
  Else
  MessageRequester("Error", "Serversequenz unbekannt!", 0)
  EndIf
  Delay (500)
  ;Dritte Sequenz vom Server Login 
  ReceiveNetworkData(ConID, @DatenBuffer, Len(DatenBuffer))
  ;Debug DatenBuffer
  An.s=Chr(255)+Chr(253)+Chr(1)+ "root"+Chr(13)+Chr(10)
  If SendNetworkData(ConID, @An, 9) = -1 
  MessageRequester("Error", "Server akzeptiert Antwort nicht.!", 0)  
  EndIf
  Delay (500)
  ;Vierte Sequenz vom Server Password
  ReceiveNetworkData(ConID, @DatenBuffer, Len(DatenBuffer))
  An.s=Chr(255)+Chr(253)+Chr(1)+ "root"+Chr(13)+Chr(10)
  If SendNetworkData(ConID, @An, 9) = -1 
  MessageRequester("Error", "Server akzeptiert Antwort nicht.!", 0)  
  EndIf
  Delay (500)
  ;Fünfte Sequenz vom Server Linuxbefehl
  ReceiveNetworkData(ConID, @DatenBuffer, Len(DatenBuffer))
  An.s=Chr(255)+Chr(253)+Chr(1)+ "mkdir /audio/import/test/"+Chr(13)+Chr(10)
  la.l=Len(An)
  If SendNetworkData(ConID, @An, la) = -1 
  MessageRequester("Error", "Server akzeptiert Antwort nicht.!", 0)  
  EndIf
 CloseNetworkConnection(ConID) 
Else 
  MessageRequester("PureBasic - Client", "Can't find the server (Is it launched ?).", 0) 
EndIf 
End
Danke für eure Anregungen
Andre
Antworten