Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.50 KB | None | 0 0
  1. private static class Capitalizer extends Thread {
  2. private Socket socket;
  3. private int clientNumber;
  4.  
  5. public Capitalizer(Socket socket, int clientNumber) {
  6. this.socket = socket;
  7. this.clientNumber = clientNumber;
  8. log("New connection with client# " + clientNumber + " at " + socket);
  9. }
  10.  
  11. /**
  12. * Services this thread's client by first sending the
  13. * client a welcome message then repeatedly reading strings
  14. * and sending back the capitalized version of the string.
  15. */
  16. public void run() {
  17. try {
  18.  
  19. // Decorate the streams so we can send characters
  20. // and not just bytes. Ensure output is flushed
  21. // after every newline.
  22. BufferedReader in = new BufferedReader(
  23. new InputStreamReader(socket.getInputStream()));
  24. PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
  25.  
  26. // Send a welcome message to the client.
  27. out.println("Hello, you are client #" + clientNumber + ".");
  28. out.println("Enter a line with only a period to quitn");
  29.  
  30. // Get messages from the client, line by line; return them
  31. // capitalized
  32. while (true) {
  33. String input = in.readLine();
  34. if (input == null || input.equals(".")) {
  35. break;
  36. }
  37. out.println(solveCube(input));
  38. }
  39.  
  40. } catch (IOException e) {
  41. log("Error handling client# " + clientNumber + ": " + e);
  42. } finally {
  43. try {
  44. socket.close();
  45. } catch (IOException e) {
  46. log("Couldn't close a socket, what's going on?");
  47. }
  48. log("Connection with client# " + clientNumber + " closed");
  49. }
  50. }
  51.  
  52. /**
  53. * Logs a simple message. In this case we just write the
  54. * message to the server applications standard output.
  55. */
  56. private void log(String message) {
  57. System.out.println(message);
  58. }
  59. }
  60.  
  61. private static class Connecter extends Thread {
  62.  
  63. /**
  64. * Services this thread's client by first sending the
  65. * client a welcome message then repeatedly reading strings
  66. * and sending back the capitalized version of the string.
  67. */
  68. public void run() {
  69.  
  70. try {
  71. System.out.println("The capitalization server is running.");
  72. int clientNumber = 0;
  73. ServerSocket listener = new ServerSocket(38300);
  74. try {
  75. while (true) {
  76. new Capitalizer(listener.accept(), clientNumber++).start();
  77. }
  78. } finally {
  79. listener.close();
  80. }
  81. } catch (IOException ex) {
  82. Logger.getLogger(FXMLDocumentController.class.getName()).log(Level.SEVERE, null, ex);
  83. }
  84.  
  85. }
  86.  
  87. }
  88.  
  89. private final Runnable connectToServer = new Thread()
  90. {
  91. @Override
  92. public void run()
  93. {
  94.  
  95. try
  96. {// Get the server address from a dialog box.
  97. String serverAddress = "192.168.0.23";
  98.  
  99. // Make connection and initialize streams
  100. Socket socket = new Socket(serverAddress, 38300);
  101. in = new BufferedReader(
  102. new InputStreamReader(socket.getInputStream()));
  103. out = new PrintWriter(socket.getOutputStream(), true);
  104.  
  105. // Consume the initial welcoming messages from the server
  106. for (int i = 0; i < 3; i++) {
  107. System.out.println(in.readLine());
  108. }
  109. solveCube();
  110. } catch (IOException e) {
  111. e.printStackTrace();
  112. }
  113.  
  114.  
  115. }
  116. };
  117. private final Runnable initializeConnection = new Thread()
  118. {
  119. @Override
  120. public void run()
  121. {
  122.  
  123. try {
  124. Thread.sleep(500);
  125. } catch (InterruptedException e) {
  126. e.printStackTrace();
  127. }
  128.  
  129. System.out.println(generateCubeString());
  130. out.println(generateCubeString());
  131. String response ="";
  132. try {
  133. response = in.readLine();
  134. if (response == null || response.equals("")) {
  135. System.exit(0);
  136. }
  137.  
  138. } catch (IOException ex) {
  139.  
  140. }
  141.  
  142. if (response.contains("Error")) {
  143.  
  144.  
  145. } else {
  146. solveCubeAnimate(response);
  147. }
  148. System.out.println(response);
  149. final String finalResponse = response;
  150. runOnUiThread(new Runnable() {
  151. @Override
  152. public void run() {
  153.  
  154. textView.setText(finalResponse);
  155.  
  156. }
  157. });
  158.  
  159.  
  160.  
  161. }
  162. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement