Guest User

Untitled

a guest
Nov 27th, 2016
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.28 KB | None | 0 0
  1. import javax.net.ssl.SSLSocket;
  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.io.PrintWriter;
  6. import java.text.ParseException;
  7. import java.text.SimpleDateFormat;
  8. import java.util.Calendar;
  9. import java.util.Date;
  10.  
  11. public class ClientHandlerThread extends Thread{
  12. private boolean running = true;
  13. private SSLSocket dataSocket;
  14. private PrintWriter writer;
  15. private BufferedReader reader;
  16. private String ip;
  17. private DBConnector dbconnector;
  18.  
  19. public ClientHandlerThread(SSLSocket dataSocket){
  20. this.dataSocket = dataSocket;
  21. try
  22. {
  23. this.reader = new BufferedReader(new InputStreamReader(this.dataSocket.getInputStream()));
  24. this.writer = new PrintWriter(this.dataSocket.getOutputStream());
  25. }
  26. catch (IOException e)
  27. {
  28. e.printStackTrace();
  29. }
  30.  
  31. this.ip = this.dataSocket.getInetAddress().getHostAddress();
  32. }
  33.  
  34. public void run()
  35. {
  36. try
  37. {
  38. writer.println("SERVER_HANDSHAKE_INIT");
  39. writer.flush();
  40. String fromClient,username,email,password,timeStamp;
  41. dbconnector = new DBConnector();
  42. dbconnector.connect();
  43. while (running && (fromClient = reader.readLine()) != null)
  44. {
  45. String delims = "[;]";
  46. String[] tokens = fromClient.split(delims);
  47. int option = Integer.parseInt(tokens[0]);
  48. switch(option){
  49. case 0:
  50. email=tokens[1];
  51. timeStamp=tokens[2];
  52. if(verifyDate(timeStamp)){
  53. dbconnector.uniqueEmail(email);
  54. System.out.println(email);
  55. System.out.flush();
  56. }
  57. else{
  58.  
  59. }
  60. break;
  61. case 1:
  62. username = tokens[1];
  63. email=tokens[2];
  64. password = tokens[3];
  65. timeStamp=tokens[4];
  66. if(verifyDate(timeStamp)){
  67. //dbconnector.insertSignup(username,email,password);
  68. System.out.println(username +" "+ email +" "+ password+timeStamp);
  69. System.out.flush();
  70. }
  71. else{
  72.  
  73. }
  74. break;
  75. case 2:
  76. email=tokens[1];
  77. password = tokens[2];
  78. timeStamp=tokens[3];
  79. if(verifyDate(timeStamp)){
  80. dbconnector.login(email,password);
  81. System.out.println(email +" "+ password);
  82. System.out.flush();
  83. }
  84. else{
  85.  
  86. }
  87. break;
  88. }
  89. }
  90. }
  91. catch (IOException e)
  92. {
  93. e.getCause();
  94.  
  95. }
  96. }
  97.  
  98. public String getIP(){
  99. return ip;
  100. }
  101.  
  102. public boolean isRunning(){
  103. return running;
  104. }
  105.  
  106. public void setRunning(boolean running){
  107. this.running = running;
  108. }
  109. private static boolean verifyDate(String date1){
  110. try {
  111. Calendar c = Calendar.getInstance();
  112. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
  113. String formattedDate = df.format(c.getTime());
  114. Date sDt;
  115. Date sDt2;
  116. sDt = df.parse(date1);
  117. sDt2 = df.parse(formattedDate);
  118. long ld = sDt.getTime() /1000;
  119. long ld2 = sDt2.getTime() /1000;
  120. if(ld2>ld){
  121. return false;
  122. }
  123. } catch (ParseException e) {
  124. e.printStackTrace();
  125. }
  126. return true;
  127. }
  128. }
Add Comment
Please, Sign In to add comment