Socket Telnet Server

Gachl

Mitglied
Moin!

Ich versuche mir gerade einen wahnsinnig simplen Java Telnet Server zu schreiben und 'faile episch', wenn man das so sagen darf.

Was ich bisher mache ist:
  • Socket auf
  • Client annehmen
  • DataStreamReader und DataStreamWriter holen
  • .readUTF und .writeUTF benutzen

Die Liste meiner Probleme hierbei ist (Client ist Putty im Telnet-Modus)
  • Wenn der Client Zeichen sendet ist hin und wieder ein wenig Müll dabei, ich denke mal das sind Steuerzeichen
  • Wenn der Server Zeichen sendet kann es vorkommen dass vorher ein anderes Zeichen steht, z.B. "$" oder Tab oder \n ...
  • Ich will farben (VTxxx oder was das dann sein mag)
  • .readUTF liest unendlich lange, CRLF beendet den Befehl nicht, dann habe ich readLine verwendet, welches veraltet ist, aber das funktioniert.

Bei Google nach "Java Telnet Server" zu suchen ist anscheinend nicht sehr hilfreich, so langsam habe ich das gefühl, dass das fast noch nie jemand gemacht hat (kann ja ned sein).

Was ich bräuchte wären ein paar Docs (bitte nicht RFC, die sind zum heulen schlecht geschrieben) in denen steht, wie ich mit Telnet Steuerzeichen umgehe, wie ich das ganze Farbig machen kann und vllt. noch wie ich die Höhe und Breite des Client Terminals herausfinden kann...
Oder eine Library die das alles schon für mich tut (hab da auch nichts gefunden...)

tl;dr: Java Telnet Server Tutorial Plz.

Danke!
~Gachl
 

FArt

Top Contributor
Google noch mal, zusätzlich mit den Begriffen "example" oder "tutorial"... sieht eigentlich recht vielversprechend aus.

Wie wäre es mit einer fertigen API? Ich denke, Apache Jakarta Commons Net kann Telnet.
 

Gachl

Mitglied
Google noch mal, zusätzlich mit den Begriffen "example" oder "tutorial"... sieht eigentlich recht vielversprechend aus.
"eigentlich" ja aber bei all den beispielen wird readUTF verwendet, was bei mir irgendwie nicht hinhauen will und es werden nirgends Steuerzeichen oder Farben behandelt.

Wie wäre es mit einer fertigen API? Ich denke, Apache Jakarta Commons Net kann Telnet.
Kann Telnet Client, ja, aber soweit ich weiss, kann es kein Server. Ich hab das Apache Jakarta schon ausprobiert und auch die Docs und die Examples angeschaut, aber es wird überall nur als Client eingesetzt und ich sehe keine Möglichkeit daraus einen Server zu basteln...
Dann gibt es noch jscape, aber das ist kostenpflichtig.
 
G

Gast2

Gast
Farbe ist so eine Sache, du kannst die ANSI Color Codes verwenden, die werden jenachdme was du für ein Terminal verwendest richtig interpertiert oder ignoriert. Mit Putty sollte es allerdings gehn.


Java:
public class Test {
    public static void main(String[] args) {
        System.out.println("\033[33mThis text is in yellow");
    }
}

Ich verstehe noch nicht ganz was du machen willst - willst du wirklich einen Telnet Server programmieren? Oder willst du nur eine Server programmieren an den du beliebige Commandos schicken kannst die der Server dann ausführt (Telnet ähnlich aber anderes Verhalten)?
 

FArt

Top Contributor
Apache hat auch einen Server im Angebot. Gerade zu dem sehe ich nicht, was jscape tatsächlich mehr oder besser kann.
 

Gachl

Mitglied
Farbe ist so eine Sache, du kannst die ANSI Color Codes verwenden, die werden jenachdme was du für ein Terminal verwendest richtig interpertiert oder ignoriert. Mit Putty sollte es allerdings gehn.
Mh, sieht aus wie unix bash color codes... Einfacher als ich erwartet habe, danke.

Ich verstehe noch nicht ganz was du machen willst - willst du wirklich einen Telnet Server programmieren? Oder willst du nur eine Server programmieren an den du beliebige Commandos schicken kannst die der Server dann ausführt (Telnet ähnlich aber anderes Verhalten)?
Ich will ein Server der über Telnet Befehle entgegen nimmt, sie verarbeitet (druch z.B. Datenbanken etc) und dann ein entsprechendes Resultat dem Client zurücksenden.

Pseudobeispiel:
Client->Server
Code:
read 100
Server->Client
Code:
################################################################################
# Article 100 / 1337                                                           #
# ---------------------------------------------------------------------------- #
# Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla  #
################################################################################
(und halt noch farbig und so...)
Und das soll eben über Telnet und nicht über raw sockets gehen.

Apache hat auch einen Server im Angebot.
Dann schau ich mir das nochmal genauer an...

Edit: Also beim besten Willen, aber nach durchforsten von org.apache.commons.net.telnet (Commons Net 2.0 API) und Google konnt ich nicht bestätigen, dass man mit Apache Jakarta einen Telnet Server erstellen kann... :(
 
Zuletzt bearbeitet:

Gachl

Mitglied
Okay, ich hab die Apache FtpServer source gelesen und damit rumgespielt, aber das hilft mir keinen funken weiter, weil dort nur Sockets und keine Telnet Protokoll Kommunikation verwendet wird.

Es muss doch irgendwo eine Java Library geben um einen einfachen Telnet Server aufzusetzen der alle Telnet Commands wie Do Linemode, Do Echo, Do Terminal Type und die ganzen sachen die es gibt automatisch verwertet.
 

Gachl

Mitglied
Scheint ein recht hoffnungsloses Thema zu sein, hab noch in 3 IRC Channels gefragt.

Für die die an der Lösung interessiert sind, so wie ich sie verwende:
Alle Telnet Steuerzeichen einfach aus dem read String rausschneiden
Es gibt zwei Arten von Steuerzeichen, einmal Befehle und einmal Befehle mit Parametern
Befehle mit Parameter fangen mit FFFA an und hören mit FFF0 auf, hier kann man von FFFA bis FFF0 alles löschen.
Befehle ohne Parameter fangen alle mit "FF" (hexadezimal) an und sind dreistellig (z.B. FFFD22), hier kann man also einfach von FF an drei Zeichen entfernen.

Ich staune immernoch, dass es nirgends einen richtigen Java Telnet Server gibt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Threads/Server/telnet Fehler Netzwerkprogrammierung 2
S SMTP Server per Telnet ansprechen Netzwerkprogrammierung 11
M Telnet-Server: Client-Eingabeverarbeitung Netzwerkprogrammierung 4
S Server - Telnet funktioniert, Server - Client nicht Netzwerkprogrammierung 3
IngoF Unklarheiten bei Telnet Netzwerkprogrammierung 5
F Probleme mit Connection Reset bei Telnet Verbindung Netzwerkprogrammierung 1
A Socket Wie ein einfacher Multithreads Service mit Telnet als Client mit Observable/Observer gelöst.... Netzwerkprogrammierung 0
A telnet Abfrage Netzwerkprogrammierung 4
ruffio1978 Telnet über ein socket ansprechen Netzwerkprogrammierung 8
H TelNet Client Netzwerkprogrammierung 2
K Was wird genau per Telnet verschickt ? Netzwerkprogrammierung 5
O Telnet verbindung Netzwerkprogrammierung 4
N Verbindung zu Fritzbox Socket/Telnet ??? Netzwerkprogrammierung 5
D Telnet-Klasse mit Hindernissen Netzwerkprogrammierung 2
ABstraCT Telnet port Zugriff problem (public IP) Netzwerkprogrammierung 12
M Java will Telnet nicht verstehen Netzwerkprogrammierung 7
lebenlechzer Login per Telnet auf Router Netzwerkprogrammierung 2
J SSH oder Telnet Netzwerkprogrammierung 12
C Java und Telnet Netzwerkprogrammierung 5
G Telnet Shh Verbindung Netzwerkprogrammierung 4
F http Post auf einen Grafana Server Netzwerkprogrammierung 3
W Socket Server -> lesen von / schreiben zu php-script Netzwerkprogrammierung 6
E Server mit GUI Netzwerkprogrammierung 4
E FTP FTPS Server gibt Fehlernachricht "522 SSL/TLS required on the data channel" zurück Netzwerkprogrammierung 1
I Performanteste Kommunikationsmethode zwischen Client u. Server Netzwerkprogrammierung 4
L Socket Automatische Zuweisung von Server und Client Rolle Netzwerkprogrammierung 12
Eigenen Rechner als Server? Netzwerkprogrammierung 16
FrankenDerStein HTTP Https Server Bibliothek für Linux und Android gesucht. Netzwerkprogrammierung 7
ExceptionOfExpectation Server/Client-Kommunikation Netzwerkprogrammierung 34
M Server-Client-System für Browsergame Netzwerkprogrammierung 5
J Datei Download vom Server Netzwerkprogrammierung 8
izoards Mehrere TCP Verbindungen auf einen Server [alles Local] Netzwerkprogrammierung 2
Yonnig Threads mit Client/Server und GUI (laufend bis button-click) Netzwerkprogrammierung 9
J Client-Server und SOAP Netzwerkprogrammierung 23
J Multithreaded-Server Netzwerkprogrammierung 21
JaXnPriVate Java HTTPS Server (Secure Sockets) Netzwerkprogrammierung 15
L30nS RMI RMI-Server kann Dialog nicht volkommen anzeigen Netzwerkprogrammierung 2
L30nS RMI Aufruf einer Client-Methode von einem RMI-Server Netzwerkprogrammierung 3
L Server-Socket liest Input-Stream nicht Netzwerkprogrammierung 5
T String von Client zu Server kommt nicht an Netzwerkprogrammierung 92
D WebSocket Server mit HTML Client und Java Server Netzwerkprogrammierung 5
S Von Java auf passwortgeschützten Server zugreifen + Umgang mit Ports Netzwerkprogrammierung 28
S Probleme bei Java-Installation auf Server (Linux/Shell/Terminal) Netzwerkprogrammierung 6
S Java: Anbindung an einen realen Server? (+ Portfreigabe) Netzwerkprogrammierung 8
D Server - Client Informationsaustausch, Möglichkeiten Netzwerkprogrammierung 3
H Socket Kann ein Socket server 2 dimensionale Arrays empfangen und versenden? Netzwerkprogrammierung 3
H Socket Chat entwickeln mit Java Server Client Netzwerkprogrammierung 4
X Kann ich einen Client/Server verbindung hinkriegen die mir alle paar Sekunden die aktuellen Daten per Realtime zuschickt ? Netzwerkprogrammierung 9
Z Kann nicht Daten vom Server lesen Socket Netzwerkprogrammierung 10
S HTTP Post?!? - Java Server Netzwerkprogrammierung 7
F Verbindung zu einem LDAP Server über Java Netzwerkprogrammierung 4
D Slf4j - Logging - Client-Server Architektur Netzwerkprogrammierung 3
F NodeJs-Server auf Firebase hosten ? Netzwerkprogrammierung 3
J client server mit nur einem PC Netzwerkprogrammierung 33
M Socket Nachricht von TCP-Client an Server schicken Netzwerkprogrammierung 12
M Socket Verbindung Matlab(Server) Java(Client) Netzwerkprogrammierung 1
H HTTP Glassfish (v5) Application Server - Bibliothek zur Verfügung stellen Netzwerkprogrammierung 4
B HttpClient - Server (Jetty) - getInputStream - EOF Netzwerkprogrammierung 3
P TCP-Server Netzwerkprogrammierung 1
R Socket FATAL EXCEPTION MAIN bei Socket based client/server app Netzwerkprogrammierung 2
F Server für Java Applikationen Netzwerkprogrammierung 16
H Einfacher Server funktioniert nicht Netzwerkprogrammierung 1
G Server-Client IO Problem Netzwerkprogrammierung 6
T Mikrofonaudio über Java Server an Webbrowser streamen Netzwerkprogrammierung 13
I Socket Das erste Server-Client Programm Netzwerkprogrammierung 16
T HTTPS-Requests an Server: POST-Parameter kommen nicht an Netzwerkprogrammierung 5
L Socket Wie kann ich checken ob ein User eine Nachricht per Outputstream an den Server gesendet hat? Netzwerkprogrammierung 1
T Jetty Server LOGGING Netzwerkprogrammierung 1
L Strings an Server senden und in MYSQL speichern? Netzwerkprogrammierung 3
Aruetiise Socket Java Programm auf Server Netzwerkprogrammierung 3
T server empfängt nur 1 Buchstaben vom String Netzwerkprogrammierung 1
S Spiel mit Server programmieren Netzwerkprogrammierung 2
N Post u Head Request an Server Netzwerkprogrammierung 4
J Socket Ein Chat Server Tutorial Netzwerkprogrammierung 8
M Socket Server antwortet dem Client nicht Netzwerkprogrammierung 6
J Socket Tutorial zu Multiplayer Server schreiben? Netzwerkprogrammierung 5
S Java Chat Server Netzwerkprogrammierung 8
E Kurze Textnachrichten über einen Server von meinem Handy auf den Computer laden. Netzwerkprogrammierung 9
I Client/Server Kommunikation bei einem Spiel Netzwerkprogrammierung 4
E Objekte versenden, Client-Server Netzwerkprogrammierung 25
C Mini Client-Server-Anwendung funktioniert nicht Netzwerkprogrammierung 8
D Socket Message an einen Server senden? Netzwerkprogrammierung 8
J FTP FTP Zugriff über Proxy Server Netzwerkprogrammierung 1
KaffeeFan Programmierung mit Cloud-Server Netzwerkprogrammierung 0
L Socket Problem mit Server Netzwerkprogrammierung 1
cezary Socket Paralleler Server ? Netzwerkprogrammierung 1
I Socket Leicht zu DDosender Server Netzwerkprogrammierung 4
agent47 HTTPs Server Netzwerkprogrammierung 5
J Chat Server starten über GUI problem Netzwerkprogrammierung 4
J Prüfen, ob remote UDT Server erreichbar ist Netzwerkprogrammierung 0
P Server als Client nutzen Netzwerkprogrammierung 8
S Server Kommunikation Netzwerkprogrammierung 1
V einfaches hin und her von Text über Server Netzwerkprogrammierung 2
D Socket Run Args Client/Server Socket Netzwerkprogrammierung 1
Cromewell Socket Multithreaded Server und Client Netzwerkprogrammierung 1
Y Client/Server/DB communication Netzwerkprogrammierung 3
JavaWolf165 Socket mit .writeUtf etwas vom Client zum Server schicken Netzwerkprogrammierung 13
P RMI Client Server Programm über Internet Netzwerkprogrammierung 2
brainless Client Server Kommunikation verschlüsseln Netzwerkprogrammierung 13
gamebreiti Socket Server / Client Anwendung Manipulation von Objekten durch Server Netzwerkprogrammierung 9

Ähnliche Java Themen

Neue Themen


Oben