Advertisement
Guest User

Untitled

a guest
Jan 21st, 2020
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. package server_side;
  2.  
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.io.OutputStream;
  6. import java.net.ServerSocket;
  7. import java.net.Socket;
  8. import java.net.SocketException;
  9. import java.net.SocketTimeoutException;
  10.  
  11. public class MySerialServer implements Server {
  12.  
  13. public MySerialServer(int port) {
  14. super();
  15. this.port = port;
  16. this.stop = false;
  17. }
  18.  
  19. private int port;
  20. private ClientHandler ch;
  21. private volatile boolean stop;
  22.  
  23. private void runServer(){
  24. ServerSocket server;
  25. Socket aClient;
  26. try {
  27. server = new ServerSocket(port);
  28. server.setSoTimeout(3000);
  29. aClient = server.accept();
  30. InputStream in = aClient.getInputStream();
  31. OutputStream out = aClient.getOutputStream();
  32. while(!this.stop){
  33. ch.handleClient(in, out);
  34. in.close();
  35. out.close();
  36. aClient.close();
  37. try {
  38. Thread.sleep(2000);
  39. } catch (InterruptedException e) {
  40. // TODO Auto-generated catch block
  41. e.printStackTrace();
  42. }
  43. }
  44. server.close();
  45.  
  46. } catch (IOException e1) {
  47. e1.printStackTrace();
  48. }
  49.  
  50. }
  51.  
  52.  
  53. @Override
  54. public void start (ClientHandler ch){
  55. this.ch = ch;
  56. new Thread(()->{
  57. try {
  58. runServer();
  59. } catch (Exception e) {}
  60. }).start();
  61. }
  62.  
  63. @Override
  64. public void stop() {
  65. stop = true;
  66. }
  67.  
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement