import java.io.IOException;
import java.net.Socket;
+import java.net.UnknownHostException;
import be.nikiroo.utils.Version;
*
* @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);
*
* @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);
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);
}
};
}