Advertisement
Guest User

Untitled

a guest
Oct 19th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.60 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package myshit;
  7.  
  8. import java.util.Random;
  9. import java.text.DateFormat;
  10. import java.text.SimpleDateFormat;
  11. import java.util.Calendar;
  12. import java.util.Date;
  13. import java.util.Objects;
  14.  
  15. /**
  16. *
  17. * @author Ori
  18. */
  19.  
  20. public class MyShit {
  21. /**
  22. * @param args the command line arguments
  23. */
  24. public static void main(String[] args)
  25. {
  26. /*
  27. Ebbe küldik a kliensek a stringet, ami az IDjükkel kezdődik, a többi a hasznos adat..
  28. 1 sor = 1 gép stringje
  29. ezzel a bufferrel fölösleges foglalkozni, amíg mondjuk a mérete el nem éri a gépek számát, persze ha nem mind tud valamiért küldeni
  30. adatot, akkor szopás.. tehát inkább mégis foglalkozzunk vele :D
  31. */
  32. String[] theBuffer = new String[20]; //20 gépet tárol max, dynamic array maybe?
  33. //feltöltés, csak minden 2. elembe teszünk valami, mintha a gépek fele menne csak..
  34. for(int i=0; i<20; i+=2)
  35. {
  36. sendDataFromClient(theBuffer,i);
  37. }
  38.  
  39. //Kiírandó sorok titlejei
  40. String[] dataNames = {
  41. "IP: ",
  42. "Date/Time: "
  43. };
  44.  
  45. /*
  46. * azon gépek amik sora null, nem írja ki(ezen gépek kikapcsoltak/nincs internet/stb)
  47. * azon gépek amik sora=="-1", ott hiba van!
  48. * többit kiírjuk normálisan
  49. */
  50. for(int i=0; i<20; i++)
  51. {
  52. String thisLine = theBuffer[i]; //i-edik gép sora
  53. if(thisLine==null)
  54. {
  55. System.out.println( "PC-"+i+": kikapcsolt/nem elérhető");
  56. }
  57.  
  58. else if(Objects.equals(thisLine, "-1"))
  59. {
  60. System.out.println( "PC-"+i+": hibát jelez!");
  61. }
  62.  
  63. else {
  64. String[] theWords = thisLine.split("#"); //a sor felbontva a speckó karaktereknél
  65. System.out.println("PC-"+i+":");
  66. for(int j=1; j<theWords.length; j++)
  67. {
  68. /*
  69. Próbálja meg kiírni az adott adattagokhoz tartozó title-t, amennyiben nem sikerül, mert mondjuk
  70. több adattag van, mint title(extra infók pl), akkor title nélkül írja ki őket
  71. */
  72. try{
  73. System.out.println("\t"+dataNames[j-1]+theWords[j]);
  74. }
  75. catch( ArrayIndexOutOfBoundsException e)
  76. {
  77. System.out.println("\t"+theWords[j]);
  78. }
  79.  
  80. }
  81. }
  82. System.out.println("\n");
  83. }
  84. }
  85.  
  86. /*
  87. * Szimulált adatküldés kliens oldalról a bufferbe
  88. * inArray = a buffer amibe küldeni akarunk
  89. * hívása: sendDataFromClient(&bufferArray)
  90. * index itt csak a szimulálás végett kell, amit for loopból kap a function
  91. egyébként ez ugye minden gépnél fix lenne, szóval oda inkább majd 1 lekérés fog kelleni
  92.  
  93. */
  94. public static void sendDataFromClient(String[] inArray, int index)
  95. {
  96. int machineID = index; //itt kéne lekérdezni a gép saját IDjét
  97. String stringToBeSent = Integer.toString(machineID); //a string MINDÍG a machineID-vel kezdődjön!
  98. //azért ellenőrizzük is le, hogy valóban van-e ID.. ha nem, akkor kilépés hibával!
  99. if( stringToBeSent.length()<=0 )
  100. {
  101. //throw exception, amit akarsz..
  102. System.out.println("I've failed master, please forgive me!");
  103. stringToBeSent="-1";
  104. }else{
  105.  
  106. Random rand = new Random();
  107. int randomNum = 1 + rand.nextInt(100);
  108. String machineIP = "192.168.1."+ Integer.toString( randomNum ); //IP address, megint..csak kérd le a gépét..
  109.  
  110. String timeSent; //küldés dátuma/ideje
  111. DateFormat df = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
  112. Date today = Calendar.getInstance().getTime();
  113. timeSent = df.format(today);
  114.  
  115. stringToBeSent+= "#" + machineIP + "#" + timeSent; //mindent hozzáadunk a visszaküldendő stringnek
  116. }
  117.  
  118. inArray[index] = stringToBeSent; //-1 et küld, ha valami nem oké, vagy csinálj rá exceptionököet pontosabb okokért
  119. }
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement