Telnet ist sowas wie eine Konsolenverbindung. Es benutzt TCP/IP. Das bedeutet im Umkehrschluss nicht, dass alle Clients oder Server die TCP/IP sprechen auch Telnet sprechen.

Man kann mit einem Telnet Client testen, ob da einer drangeht. Aber in einer echten Telnet Verbindung kann man z.B. mit der Delete-Taste seine Eingaben löschen. Ein dummer TCP-Client wird da aber nur das alte Zeichen, das Delete-Steuerzeichen und das neue Zeichen sehen und sagen "Ist nicht das Stringformat was ich brauche" und entweder eine Fehlermeldung von sich geben oder gar nix tun.

Auch meine ich mich zu erinnern, dass bei Telnet die Terminals Dinge miteinander aushandeln. In dem verlinkten C-Code gibt es außerdem diese Negotiation, da würden meine Roboter aber was husten. Aber ich werde da nicht weiter diskutieren.