Loading src/main/java/ch15/DailyAdviceClient.java +10 −10 Changes for src/main/java/ch15/DailyAdviceClient.java: 10 added lines, 10 removed lines. Original line number Diff line number Diff line package ch15; import java.io.BufferedReader; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.SocketChannel; import java.io.InputStreamReader; import java.net.Socket; public class DailyAdviceClient { public void go() { try { InetSocketAddress address = new InetSocketAddress("localhost", 4242); SocketChannel socketChannel = SocketChannel.open(address); Socket s = new Socket("127.0.0.1", 4242); ByteBuffer buffer = ByteBuffer.allocate(256); socketChannel.read(buffer); String result = new String(buffer.array()).trim(); InputStreamReader streamReader = new InputStreamReader(s.getInputStream()); BufferedReader reader = new BufferedReader(streamReader); System.out.println("Today you should: " + result); String advice = reader.readLine(); System.out.println("Today you should: " + advice); reader.close(); socketChannel.close(); } catch(IOException ex) { ex.printStackTrace(); } Loading src/main/java/ch15/DailyAdviceServer.java +11 −17 Changes for src/main/java/ch15/DailyAdviceServer.java: 11 added lines, 17 removed lines. Original line number Diff line number Diff line package ch15; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.ServerSocketChannel; import java.nio.channels.SocketChannel; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class DailyAdviceServer { Loading @@ -16,20 +15,14 @@ public class DailyAdviceServer { public void go() { try { ServerSocketChannel serverSocketChannel = ServerSocketChannel.open(); InetSocketAddress address = new InetSocketAddress("localhost", 4242); serverSocketChannel.bind(address); while (serverSocketChannel.isOpen()) { SocketChannel socketChannel = serverSocketChannel.accept(); ServerSocket serverSock = new ServerSocket(4242); while (true) { Socket sock = serverSock.accept(); PrintWriter writer = new PrintWriter(sock.getOutputStream()); String advice = getAdvice(); byte[] message = advice.getBytes(); ByteBuffer buffer = ByteBuffer.wrap(message); socketChannel.write(buffer); socketChannel.close(); writer.println(advice); writer.close(); System.out.println(advice); } Loading @@ -39,7 +32,8 @@ public class DailyAdviceServer { } private String getAdvice() { return adviceList[(int) (Math.random() * adviceList.length)]; int random = (int) (Math.random() * adviceList.length); return adviceList[random]; } public static void main(String[] args) { Loading Loading
src/main/java/ch15/DailyAdviceClient.java +10 −10 Changes for src/main/java/ch15/DailyAdviceClient.java: 10 added lines, 10 removed lines. Original line number Diff line number Diff line package ch15; import java.io.BufferedReader; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.SocketChannel; import java.io.InputStreamReader; import java.net.Socket; public class DailyAdviceClient { public void go() { try { InetSocketAddress address = new InetSocketAddress("localhost", 4242); SocketChannel socketChannel = SocketChannel.open(address); Socket s = new Socket("127.0.0.1", 4242); ByteBuffer buffer = ByteBuffer.allocate(256); socketChannel.read(buffer); String result = new String(buffer.array()).trim(); InputStreamReader streamReader = new InputStreamReader(s.getInputStream()); BufferedReader reader = new BufferedReader(streamReader); System.out.println("Today you should: " + result); String advice = reader.readLine(); System.out.println("Today you should: " + advice); reader.close(); socketChannel.close(); } catch(IOException ex) { ex.printStackTrace(); } Loading
src/main/java/ch15/DailyAdviceServer.java +11 −17 Changes for src/main/java/ch15/DailyAdviceServer.java: 11 added lines, 17 removed lines. Original line number Diff line number Diff line package ch15; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.ServerSocketChannel; import java.nio.channels.SocketChannel; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class DailyAdviceServer { Loading @@ -16,20 +15,14 @@ public class DailyAdviceServer { public void go() { try { ServerSocketChannel serverSocketChannel = ServerSocketChannel.open(); InetSocketAddress address = new InetSocketAddress("localhost", 4242); serverSocketChannel.bind(address); while (serverSocketChannel.isOpen()) { SocketChannel socketChannel = serverSocketChannel.accept(); ServerSocket serverSock = new ServerSocket(4242); while (true) { Socket sock = serverSock.accept(); PrintWriter writer = new PrintWriter(sock.getOutputStream()); String advice = getAdvice(); byte[] message = advice.getBytes(); ByteBuffer buffer = ByteBuffer.wrap(message); socketChannel.write(buffer); socketChannel.close(); writer.println(advice); writer.close(); System.out.println(advice); } Loading @@ -39,7 +32,8 @@ public class DailyAdviceServer { } private String getAdvice() { return adviceList[(int) (Math.random() * adviceList.length)]; int random = (int) (Math.random() * adviceList.length); return adviceList[random]; } public static void main(String[] args) { Loading