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();
}
}
}