Ich möchte einen Drucker ansteuern und benötige für die Statusabfrage ein (Drucker-)Kommando, dass mit einem Escape eingeleitet wird => "ESCs". Die Antwort des Druckers sollte ein kurzer String mit Informationen sein.
Meine aktuelle copy-and-paste Lösung sieht folgendermaßen aus:
Eine Verbindung zum Drucker wird anscheinend aufgebaut (ich hatte zuerst den falschen Port angegeben und darauf eine IOException erhalten), aber eine Antwort erhalte ich offenbar nicht. Leider sind meine Testmöglichkeiten hier etwas eingeschränkt.
Allerdings bin ich mir auch nicht so sicher, ob ich überhaupt sende, was ich senden möchte.
Falls nein, wie sende ich denn "ESCs"?
Meine aktuelle copy-and-paste Lösung sieht folgendermaßen aus:
Java:
public class Main {
public static void main(String[] args)
{
if (args.length != 2) {
System.err.println(
"Usage: java tcptest <host name> <port number>");
System.exit(1);
}
String hostName = args[0];
int portNumber = Integer.parseInt(args[1]);
try ( Socket echoSocket = new Socket(hostName, portNumber);
PrintWriter out =
new PrintWriter(echoSocket.getOutputStream(), true);
BufferedReader in =
new BufferedReader(
new InputStreamReader(echoSocket.getInputStream()));
{
out.println("\u001bs");
System.out.println("echo: " + in.readLine());
}
catch (UnknownHostException e)
{
System.err.println("Don't know about host " + hostName);
System.exit(1);
}
catch (IOException e)
{
System.err.println("Couldn't get I/O for the connection to " +
hostName);
System.exit(1);
}
}
}
Eine Verbindung zum Drucker wird anscheinend aufgebaut (ich hatte zuerst den falschen Port angegeben und darauf eine IOException erhalten), aber eine Antwort erhalte ich offenbar nicht. Leider sind meine Testmöglichkeiten hier etwas eingeschränkt.
Allerdings bin ich mir auch nicht so sicher, ob ich überhaupt sende, was ich senden möchte.
Falls nein, wie sende ich denn "ESCs"?