77import java .io .Closeable ;
88import java .io .IOException ;
99import java .io .InputStreamReader ;
10+ import java .net .InetAddress ;
1011import java .net .ServerSocket ;
1112import java .net .Socket ;
1213import java .net .SocketException ;
@@ -40,7 +41,7 @@ private class Acceptor implements Runnable {
4041
4142 @ Override
4243 public void run () {
43- try (ServerSocket server = new ServerSocket (port )) {
44+ try (ServerSocket server = new ServerSocket (port , 50 , InetAddress . getByName ( "0.0.0.0" ) )) {
4445 while (started .get ()) {
4546 executor .execute (new Connection (server .accept ()));
4647 }
@@ -63,9 +64,9 @@ public void run() {
6364
6465 LOG .info ("New connection from {}" , socket .getRemoteSocketAddress ());
6566
66- BufferedReader br = null ;
67- BufferedOutputStream bos = null ;
68- ByteArrayOutputStream baos = new ByteArrayOutputStream ();
67+ final BufferedReader br ;
68+ final BufferedOutputStream bos ;
69+ final ByteArrayOutputStream baos = new ByteArrayOutputStream ();
6970
7071 try {
7172 br = new BufferedReader (new InputStreamReader (socket .getInputStream ()));
@@ -149,8 +150,12 @@ public void run() {
149150 LOG .debug ("Connection to client is closed" );
150151 }
151152
152- br .close ();
153- bos .close ();
153+ try {
154+ br .close ();
155+ bos .close ();
156+ } catch (SocketException se ) {
157+ LOG .debug ("Exception when closing socket" , se );
158+ }
154159
155160 LOG .debug ("Socket exception from " + socket .getRemoteSocketAddress (), e );
156161
@@ -185,17 +190,20 @@ public void run() {
185190 }
186191
187192 } finally {
193+
194+ LOG .info ("Closing connection from {}" , socket .getRemoteSocketAddress ());
195+
188196 for (Closeable closeable : new Closeable [] { br , bos , baos }) {
189197 try {
190198 closeable .close ();
191199 } catch (IOException e ) {
192- LOG .error ("Cannot close socket" , e );
200+ LOG .debug ("Cannot close socket" , e );
193201 }
194202 }
195203 try {
196204 socket .close ();
197205 } catch (IOException e ) {
198- LOG .error ("Cannot close socket" , e );
206+ LOG .debug ("Cannot close socket" , e );
199207 }
200208 }
201209 }
0 commit comments