Commit f224b943 authored by Trisha Gee's avatar Trisha Gee
Browse files

[Ch15] Moving around some of the code in the simple chat client/server to...

[Ch15] Moving around some of the code in the simple chat client/server to provide better separation of concerns
parent 7509ba98
Loading
Loading
Loading
Loading
+8 −10
Changes for src/main/java/ch15/SimpleChatClient.java: 8 added lines, 10 removed lines.
Original line number Diff line number Diff line
@@ -11,15 +11,13 @@ import java.io.PrintWriter;
import java.net.Socket;

public class SimpleChatClient {
  JTextArea incoming;
  JTextField outgoing;
  BufferedReader reader;
  PrintWriter writer;
  Socket sock;
  private JTextArea incoming;
  private JTextField outgoing;
  private BufferedReader reader;
  private PrintWriter writer;

  public static void main(String[] args) {
    SimpleChatClient client = new SimpleChatClient();
    client.go();
    new SimpleChatClient().go();
  }

  public void go() {
@@ -48,10 +46,10 @@ public class SimpleChatClient {

  private void setUpNetworking() {
    try {
      sock = new Socket("127.0.0.1", 5000);
      InputStreamReader streamReader = new InputStreamReader(sock.getInputStream());
      Socket socket = new Socket("127.0.0.1", 5000);
      InputStreamReader streamReader = new InputStreamReader(socket.getInputStream());
      reader = new BufferedReader(streamReader);
      writer = new PrintWriter(sock.getOutputStream());
      writer = new PrintWriter(socket.getOutputStream());
      System.out.println("networking established");
    } catch (IOException ex) {
      ex.printStackTrace();
+24 −24
Changes for src/main/java/ch15/SimpleChatServer.java: 24 added lines, 24 removed lines.
Original line number Diff line number Diff line
@@ -8,8 +8,29 @@ import java.net.Socket;
import java.util.ArrayList;
import java.util.Iterator;

public class VerySimpleChatServer {
  ArrayList<PrintWriter> clientOutputStreams;
public class SimpleChatServer {
  private ArrayList<PrintWriter> clientOutputStreams;

  public static void main(String[] args) {
    new SimpleChatServer().go();
  }

  public void go() {
    clientOutputStreams = new ArrayList<>();
    try {
      ServerSocket serverSock = new ServerSocket(5000);
      while (true) {
        Socket clientSocket = serverSock.accept();
        PrintWriter writer = new PrintWriter(clientSocket.getOutputStream());
        clientOutputStreams.add(writer);
        Thread t = new Thread(new ClientHandler(clientSocket));
        t.start();
        System.out.println("got a connection");
      }
    } catch (Exception ex) {
      ex.printStackTrace();
    }
  } // close go

  public class ClientHandler implements Runnable {
    BufferedReader reader;
@@ -36,28 +57,6 @@ public class VerySimpleChatServer {
        ex.printStackTrace();
      }
    } // close run
  } // close inner class

  public static void main(String[] args) {
    new VerySimpleChatServer().go();
  }

  public void go() {
    clientOutputStreams = new ArrayList<>();
    try {
      ServerSocket serverSock = new ServerSocket(5000);
      while (true) {
        Socket clientSocket = serverSock.accept();
        PrintWriter writer = new PrintWriter(clientSocket.getOutputStream());
        clientOutputStreams.add(writer);
        Thread t = new Thread(new ClientHandler(clientSocket));
        t.start();
        System.out.println("got a connection");
      }
    } catch (Exception ex) {
      ex.printStackTrace();
    }
  } // close go

    public void tellEveryone(String message) {
      Iterator<PrintWriter> it = clientOutputStreams.iterator();
@@ -71,4 +70,5 @@ public class VerySimpleChatServer {
        }
      } // end while
    } // close tellEveryone
  } // close ClientHandler
} // close class
 No newline at end of file