Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package myshit;
- import java.util.Random;
- import java.text.DateFormat;
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.Objects;
- /**
- *
- * @author Ori
- */
- public class MyShit {
- /**
- * @param args the command line arguments
- */
- public static void main(String[] args)
- {
- /*
- Ebbe küldik a kliensek a stringet, ami az IDjükkel kezdődik, a többi a hasznos adat..
- 1 sor = 1 gép stringje
- 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
- adatot, akkor szopás.. tehát inkább mégis foglalkozzunk vele :D
- */
- String[] theBuffer = new String[20]; //20 gépet tárol max, dynamic array maybe?
- //feltöltés, csak minden 2. elembe teszünk valami, mintha a gépek fele menne csak..
- for(int i=0; i<20; i+=2)
- {
- sendDataFromClient(theBuffer,i);
- }
- //Kiírandó sorok titlejei
- String[] dataNames = {
- "IP: ",
- "Date/Time: "
- };
- /*
- * azon gépek amik sora null, nem írja ki(ezen gépek kikapcsoltak/nincs internet/stb)
- * azon gépek amik sora=="-1", ott hiba van!
- * többit kiírjuk normálisan
- */
- for(int i=0; i<20; i++)
- {
- String thisLine = theBuffer[i]; //i-edik gép sora
- if(thisLine==null)
- {
- System.out.println( "PC-"+i+": kikapcsolt/nem elérhető");
- }
- else if(Objects.equals(thisLine, "-1"))
- {
- System.out.println( "PC-"+i+": hibát jelez!");
- }
- else {
- String[] theWords = thisLine.split("#"); //a sor felbontva a speckó karaktereknél
- System.out.println("PC-"+i+":");
- for(int j=1; j<theWords.length; j++)
- {
- /*
- Próbálja meg kiírni az adott adattagokhoz tartozó title-t, amennyiben nem sikerül, mert mondjuk
- több adattag van, mint title(extra infók pl), akkor title nélkül írja ki őket
- */
- try{
- System.out.println("\t"+dataNames[j-1]+theWords[j]);
- }
- catch( ArrayIndexOutOfBoundsException e)
- {
- System.out.println("\t"+theWords[j]);
- }
- }
- }
- System.out.println("\n");
- }
- }
- /*
- * Szimulált adatküldés kliens oldalról a bufferbe
- * inArray = a buffer amibe küldeni akarunk
- * hívása: sendDataFromClient(&bufferArray)
- * index itt csak a szimulálás végett kell, amit for loopból kap a function
- egyébként ez ugye minden gépnél fix lenne, szóval oda inkább majd 1 lekérés fog kelleni
- */
- public static void sendDataFromClient(String[] inArray, int index)
- {
- int machineID = index; //itt kéne lekérdezni a gép saját IDjét
- String stringToBeSent = Integer.toString(machineID); //a string MINDÍG a machineID-vel kezdődjön!
- //azért ellenőrizzük is le, hogy valóban van-e ID.. ha nem, akkor kilépés hibával!
- if( stringToBeSent.length()<=0 )
- {
- //throw exception, amit akarsz..
- System.out.println("I've failed master, please forgive me!");
- stringToBeSent="-1";
- }else{
- Random rand = new Random();
- int randomNum = 1 + rand.nextInt(100);
- String machineIP = "192.168.1."+ Integer.toString( randomNum ); //IP address, megint..csak kérd le a gépét..
- String timeSent; //küldés dátuma/ideje
- DateFormat df = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
- Date today = Calendar.getInstance().getTime();
- timeSent = df.format(today);
- stringToBeSent+= "#" + machineIP + "#" + timeSent; //mindent hozzáadunk a visszaküldendő stringnek
- }
- inArray[index] = stringToBeSent; //-1 et küld, ha valami nem oké, vagy csinálj rá exceptionököet pontosabb okokért
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement