Advertisement
Guest User

Untitled

a guest
Dec 7th, 2016
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.06 KB | None | 0 0
  1. import java.io.*;
  2. import java.net.Socket;
  3. import java.util.Scanner;
  4.  
  5. class ChatClient {
  6. static boolean finished1 = false;
  7.  
  8. static class KeyboardHandler implements Runnable {
  9. PrintWriter pout = null;
  10. Scanner input = new Scanner(System.in);
  11.  
  12. public KeyboardHandler(Socket server) throws IOException {
  13. OutputStream out = server.getOutputStream();
  14. pout = new PrintWriter(out, true);
  15. }
  16.  
  17. public void run() {
  18. while(!ChatClient.finished1) {
  19. System.out.println("> ");
  20. String line = input.nextLine();
  21. if(line.equals("quit")) {
  22. ChatClient.finished1=true;
  23. }
  24. pout.println(line);
  25. }
  26. }
  27. }
  28.  
  29. static class ResponseHandler implements Runnable {
  30. BufferedReader bin = null;
  31.  
  32. public ResponseHandler(Socket server) throws Exception {
  33. InputStream in = server.getInputStream();
  34. bin = new BufferedReader( new InputStreamReader(in));
  35. }
  36.  
  37. public void run() {
  38. while(!ChatClient.finished1) {
  39. String response;
  40. try {
  41. response = bin.readLine();
  42. System.out.println("Recieved Rx:");
  43. System.out.println(response);
  44. } catch (IOException ex) {
  45. if(!ChatClient.finished1){
  46. System.out.printf("Oh no! %s\n", ex.getMessage());
  47. }
  48. }
  49. }
  50. }
  51. }
  52.  
  53.  
  54.  
  55.  
  56. public static void main(String[] args) throws Exception {
  57. /**
  58. /* All of the resources which we must "clean up after" must be available in
  59. /* the `finally` block.
  60. */
  61. Socket server = null;;
  62. try {
  63. server = new Socket("127.0.0.1", 1234);
  64. KeyboardHandler kbHandler = new KeyboardHandler(server);
  65. ResponseHandler rxHandler = new ResponseHandler(server);
  66. Thread kbThread = new Thread(kbHandler);
  67. Thread rxThread = new Thread(rxHandler);
  68. kbThread.start();
  69. rxThread.start();
  70. kbThread.join();
  71. } catch(IOException e) {
  72. System.out.println(e.getMessage());
  73. } finally {
  74. if (server != null) {
  75. try {
  76. server.close();
  77. } catch (IOException e) {
  78. System.out.println(e.getMessage());
  79. }
  80. }
  81. }
  82. }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement