1010import onjava .*;
1111
1212public class ChatterClient extends Thread {
13- // Can listen & send on the same socket:
14- private DatagramSocket s ;
1513 private InetAddress hostAddress ;
1614 private byte [] buf = new byte [1000 ];
1715 private DatagramPacket dp =
@@ -21,21 +19,19 @@ public class ChatterClient extends Thread {
2119 public ChatterClient (int identifier ) {
2220 id = identifier ;
2321 try {
24- // Auto-assign port number:
25- s = new DatagramSocket ();
2622 hostAddress =
2723 InetAddress .getByName ("localhost" );
2824 } catch (UnknownHostException e ) {
2925 System .err .println ("Cannot find host" );
3026 System .exit (1 );
31- } catch (SocketException e ) {
32- System .err .println ("Can't open socket" );
33- throw new RuntimeException (e );
3427 }
3528 System .out .println ("ChatterClient starting" );
3629 }
3730 public void sendAndEcho (String msg ) {
38- try {
31+ try (
32+ // Auto-assign port number:
33+ DatagramSocket s = new DatagramSocket ();
34+ ) {
3935 // Make and send a datagram:
4036 s .send (Dgram .toDatagram (
4137 msg , hostAddress , ChatterServer .INPORT ));
@@ -48,6 +44,9 @@ public void sendAndEcho(String msg) {
4844 dp .getPort () + ": " +
4945 Dgram .toString (dp );
5046 System .out .println (rcvd );
47+ } catch (SocketException e ) {
48+ System .err .println ("Can't open socket" );
49+ throw new RuntimeException (e );
5150 } catch (IOException e ) {
5251 throw new RuntimeException (e );
5352 }
0 commit comments