X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Futils%2Fserial%2Fserver%2FServerString.java;h=3185c6f450f0cda09c4b66d7b1924d917c027417;hb=f4053377fa15da2f11e82955bfab86e673fa371c;hp=4a185da50baf3ae03190a3e0d3b64c09bbbf285c;hpb=79ce1a4973eba079ba819ba841d906de42f38e40;p=nikiroo-utils.git diff --git a/src/be/nikiroo/utils/serial/server/ServerString.java b/src/be/nikiroo/utils/serial/server/ServerString.java index 4a185da..3185c6f 100644 --- a/src/be/nikiroo/utils/serial/server/ServerString.java +++ b/src/be/nikiroo/utils/serial/server/ServerString.java @@ -2,6 +2,7 @@ package be.nikiroo.utils.serial.server; import java.io.IOException; import java.net.Socket; +import java.net.UnknownHostException; import be.nikiroo.utils.Version; @@ -28,6 +29,11 @@ abstract public class ServerString extends Server { * * @throws IOException * in case of I/O error + * @throws UnknownHostException + * if the IP address of the host could not be determined + * @throws IllegalArgumentException + * if the port parameter is outside the specified range of valid + * port values, which is between 0 and 65535, inclusive */ public ServerString(int port, boolean ssl) throws IOException { super(port, ssl); @@ -46,6 +52,11 @@ abstract public class ServerString extends Server { * * @throws IOException * in case of I/O error + * @throws UnknownHostException + * if the IP address of the host could not be determined + * @throws IllegalArgumentException + * if the port parameter is outside the specified range of valid + * port values, which is between 0 and 65535, inclusive */ public ServerString(String name, int port, boolean ssl) throws IOException { super(name, port, ssl); @@ -56,36 +67,25 @@ abstract public class ServerString extends Server { return new ConnectActionServerString(s) { @Override public void action(Version clientVersion) throws Exception { - try { - for (String data = rec(); data != null; data = rec()) { - String rep = null; - try { - rep = onRequest(this, clientVersion, data); - } catch (Exception e) { - onError(e); - } - - if (rep == null) { - rep = ""; - } + for (String data = rec(); data != null; data = rec()) { + String rep = null; + try { + rep = onRequest(this, clientVersion, data); + } catch (Exception e) { + onError(e); + } - send(rep); + if (rep == null) { + rep = ""; } - } catch (NullPointerException e) { - // Client has no data any more, we quit - getTraceHandler() - .trace(getName() - + ": client has data no more, stopping connection"); + + send(rep); } } @Override - public void connect() { - try { - super.connect(); - } finally { - count(-1); - } + protected void onError(Exception e) { + ServerString.this.onError(e); } }; }