Advertisement
Guest User

Untitled

a guest
Oct 15th, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. package SocketLab2;
  2.  
  3. import java.io.IOException;
  4. import java.io.PrintWriter;
  5. import java.net.ServerSocket;
  6. import java.net.Socket;
  7. import java.util.LinkedList;
  8. import java.util.Scanner;
  9.  
  10. public class Server {
  11.  
  12. public static LinkedList<clientThread> clientList = new LinkedList();
  13.  
  14. public static void main(String[] args) {
  15. // TODO Auto-generated method stub
  16. try
  17. {
  18. ServerSocket serverSocket = new ServerSocket(20);
  19. System.out.println("Server started");
  20. new Thread()
  21. {
  22. @Override
  23. public void run()
  24. {
  25. super.run();
  26. Scanner consoleInput = new Scanner(System.in);
  27.  
  28. while (true)
  29. {
  30. String serverInput = consoleInput.nextLine();
  31. System.out.println(serverInput);
  32.  
  33. for (int i = 0; i < clientList.size(); i++)
  34. {
  35. System.out.println(serverInput);
  36. clientList.get(i).writer.println(serverInput);
  37.  
  38. }
  39. }
  40. }
  41. }.start();
  42.  
  43. while (true)
  44. {
  45. clientList.add(new clientThread(serverSocket.accept()));
  46. clientList.peekLast().start();
  47. }
  48. }
  49. catch (IOException e)
  50. {
  51. System.out.println("Sorry! Can not start the server");
  52. }
  53.  
  54. }
  55.  
  56. }
  57.  
  58. class clientThread extends Thread
  59. {
  60. Socket clientSocket;
  61. Scanner reader;
  62. PrintWriter writer;
  63.  
  64. public clientThread(Socket clientSocket) throws IOException
  65. {
  66. this.clientSocket = clientSocket;
  67. this.reader = new Scanner( clientSocket.getInputStream() );
  68. this.writer = new PrintWriter( clientSocket.getOutputStream(), true );
  69. }
  70.  
  71. @Override
  72. public void run()
  73. {
  74. try
  75. {
  76. while (clientSocket.isConnected())
  77. {
  78. System.out.println("Client: " + reader.nextLine());
  79. }
  80. }
  81. catch (Exception e)
  82. {
  83. System.out.println("Client Left");
  84. }
  85. Server.clientList.remove(this);
  86. }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement