package dasherJava.core.output; import java.io.BufferedWriter; import java.io.IOException; import dasherJava.core.network.SingleSocketConnection; public class SocketOutput { private final SingleSocketConnection singleSocketConnection; public SocketOutput(int port) { singleSocketConnection=new SingleSocketConnection("SocketOutput", port); } public void terminate() { singleSocketConnection.terminate(); } public void sendString(String s, boolean suppressNewline) { BufferedWriter writer = singleSocketConnection.getCurrentWriter(); if (writer==null) return; try { writer.write(s, 0, s.length()); if (!suppressNewline) writer.write('\n'); //write '\n' as defined, not platform-specific line separator writer.flush(); } catch (IOException ex) { System.out.println("SocketOutput connection closed: IOException: "+ex.getMessage()); singleSocketConnection.closeCurrentConnection(); } } }