Advertisement
Guest User

sistemGlasanje

a guest
Nov 19th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.13 KB | None | 0 0
  1. public class Server extends Thread {
  2.     private ServerSocket serverSocket;
  3.     private String serverName, serverIPAddress;
  4.     private final int serverPort = 8080, maxNumberOfClients = 100;
  5.     private int numberOfClients;
  6.     private boolean serverClose = false;
  7.     private Candidates candidates; //kandidatite
  8.     public Server() {
  9.         try {
  10.             this.serverSocket = new ServerSocket(this.serverPort);
  11.             this.serverName=Inet4Address.getLocalHost().getHostName();
  12.             this.serverIPAddress=Inet4Address.getLocalHost().getHostAddress();
  13.             this.numberOfClients = 0;
  14.             candidates = new Candidates();
  15.             System.out.println("Èìå íà Ñåðâåðîò => "+ this.serverName);
  16.             System.out.println("IP Àäðåñà => "+ this.serverIPAddress);
  17.             System.out.println("Ïîðòà => "+ this.serverPort);
  18.             System.out.println("Ñåðâåðîò å ñïðåìåí è ãè î÷åêóâà êëèåíòèòå...\n");
  19.         } catch (IOException e) {
  20.             System.err.println(e);
  21.         }
  22.     }
  23.     public void run() {
  24.         try {
  25.             while (true) {
  26.                 if (!this.serverClose) {
  27.                     Socket socket = this.serverSocket.accept();
  28.                     PrintWriter prati = new PrintWriter(socket.getOutputStream(), true);
  29.                     Scanner primi = new Scanner(socket.getInputStream());
  30.                     if (this.numberOfClients == this.maxNumberOfClients) {
  31.                         // £à çàòâîðàìå êîìóíèêàöè¼àòà ñî êëèåíòîò
  32.                         prati.println("Ñåðâåð => Íåìà ïîâåå ñëîáîäíè ìåñòà, îáèäåòå ñå ïîâòîðíî!");
  33.                         socket.close();
  34.                     } else {
  35.                         // Ïðîäîëæóâàìå ñî êîìóíèêàöè¼àòà ñî êëèåíòîò
  36.                         System.out.println("Ñå íà¼àâè êëèåíò!");
  37.                         prati.println(candidates); //gi pecatam kandidatite
  38.                         int index = Integer.parseInt(primi.nextLine());
  39.                         candidates.getCandidate(index).updatePoints();
  40.                         //prati.println(candidates.printSostojba());
  41.                         ++this.numberOfClients;
  42.                         String want = primi.nextLine();
  43.                         if (want.equalsIgnoreCase("da")) {
  44.                             prati.println("Broj na glasovi - "+numberOfClients + "\n" + candidates.printSostojba());
  45.                         }
  46.                         //prati.println(candidates.printSostojba());
  47.                         primi.close();
  48.                     }
  49.                 } else {
  50.                     this.serverSocket.close();
  51.                 }
  52.             }
  53.         } catch (IOException e) {
  54.             System.err.println(e);
  55.         }
  56.     }
  57.    
  58.     public static void main(String[] args) throws Exception {
  59.         Server server = new Server();
  60.         server.start();
  61.     }
  62. }
  63.  
  64. class Candidate {
  65.    
  66.     private int index;
  67.     private String name;
  68.     private int numPoints;
  69.    
  70.     public Candidate(int index, String name) {
  71.         this.index = index;
  72.         this.name = name;
  73.         this.numPoints = 0;
  74.     }
  75.    
  76.     public void updatePoints() {
  77.         numPoints++;
  78.     }
  79.    
  80.     public int getNumPoints() {
  81.         return numPoints;
  82.     }
  83.    
  84.     public String toString() {
  85.         return (index+" - "+name);
  86.     }
  87. }
  88.  
  89. class Candidates {
  90.    
  91.     private Candidate[] candidates;
  92.    
  93.     public Candidates() {
  94.         this.candidates = new Candidate[4];
  95.         candidates[0] = new Candidate(0, "Velkov Filip");
  96.         candidates[1] = new Candidate(1, "Zafirovski David");
  97.         candidates[2] = new Candidate(2, "Jakimovska Angela");
  98.         candidates[3] = new Candidate(3, "Nuhiji Usamedin");
  99.     }
  100.    
  101.     public Candidate getCandidate(int index) {
  102.         return candidates[index];
  103.     }
  104.    
  105.     public String toString() {
  106.         StringBuilder sb = new StringBuilder();
  107.         for (int i=0; i<4; i++) {
  108.             sb.append(candidates[i]);
  109.             sb.append("\n");
  110.         }
  111.         return sb.toString();
  112.     }
  113.    
  114.     public String printSostojba() {
  115.         StringBuilder sb = new StringBuilder();
  116.         for (int i=0; i<4; i++) {
  117.             sb.append(candidates[i]);
  118.             sb.append(" - "+candidates[i].getNumPoints());
  119.             sb.append("\n");
  120.         }
  121.         return sb.toString();
  122.     }
  123. }------CLIENT----------
  124. public class Client extends Thread{
  125.     private Socket socket;
  126.     private Scanner primi;
  127.     BufferedReader info;
  128.     PrintWriter prati;
  129.     public Client(){
  130.         try {
  131.             this.socket=new Socket("127.0.0.1", 8080);
  132.             this.primi=new Scanner(this.socket.getInputStream());
  133.             prati = new PrintWriter(this.socket.getOutputStream(), true);
  134.         } catch (UnknownHostException e) {
  135.             System.err.println(e);
  136.         } catch (IOException e) {
  137.             System.err.println(e);
  138.         }
  139.     }
  140.     public void run(){
  141.             while (this.primi.hasNextLine()){
  142.                 String theLine = this.primi.nextLine();
  143.                 if (theLine.equals(""))
  144.                     break;
  145.                 System.out.println(theLine);
  146.             }
  147.             System.out.println("Za kogo ke glasate ? ");
  148.             info = new BufferedReader(new InputStreamReader(System.in));
  149.             String index = "";
  150.             try {
  151.                 index = info.readLine();
  152.             } catch (IOException e) {
  153.                 // TODO Auto-generated catch block
  154.                 e.printStackTrace();
  155.             }
  156.             System.out.println("Dali sakate info za sostojba na glasovi ?");
  157.             String want = "";
  158.             try {
  159.                 want = info.readLine();
  160.             } catch (IOException e) {
  161.                 // TODO Auto-generated catch block
  162.                 e.printStackTrace();
  163.             }
  164.             prati.println(index);
  165.             prati.println(want);
  166.                 while (this.primi.hasNextLine()) {
  167.                     String theLine = this.primi.nextLine();
  168.                     if (theLine.equals(""))
  169.                         break;
  170.                     System.out.println(theLine);
  171.                 }
  172.            
  173.     }
  174.    
  175.     public static void main(String[] args) {
  176.         Client client = new Client();
  177.         client.start();
  178.     }
  179. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement