Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Server extends Thread {
- private ServerSocket serverSocket;
- private String serverName, serverIPAddress;
- private final int serverPort = 8080, maxNumberOfClients = 100;
- private int numberOfClients;
- private boolean serverClose = false;
- private Candidates candidates; //kandidatite
- public Server() {
- try {
- this.serverSocket = new ServerSocket(this.serverPort);
- this.serverName=Inet4Address.getLocalHost().getHostName();
- this.serverIPAddress=Inet4Address.getLocalHost().getHostAddress();
- this.numberOfClients = 0;
- candidates = new Candidates();
- System.out.println("Èìå íà Ñåðâåðîò => "+ this.serverName);
- System.out.println("IP Àäðåñà => "+ this.serverIPAddress);
- System.out.println("Ïîðòà => "+ this.serverPort);
- System.out.println("Ñåðâåðîò å ñïðåìåí è ãè î÷åêóâà êëèåíòèòå...\n");
- } catch (IOException e) {
- System.err.println(e);
- }
- }
- public void run() {
- try {
- while (true) {
- if (!this.serverClose) {
- Socket socket = this.serverSocket.accept();
- PrintWriter prati = new PrintWriter(socket.getOutputStream(), true);
- Scanner primi = new Scanner(socket.getInputStream());
- if (this.numberOfClients == this.maxNumberOfClients) {
- // £à çàòâîðàìå êîìóíèêàöè¼àòà ñî êëèåíòîò
- prati.println("Ñåðâåð => Íåìà ïîâåå ñëîáîäíè ìåñòà, îáèäåòå ñå ïîâòîðíî!");
- socket.close();
- } else {
- // Ïðîäîëæóâàìå ñî êîìóíèêàöè¼àòà ñî êëèåíòîò
- System.out.println("Ñå íà¼àâè êëèåíò!");
- prati.println(candidates); //gi pecatam kandidatite
- int index = Integer.parseInt(primi.nextLine());
- candidates.getCandidate(index).updatePoints();
- //prati.println(candidates.printSostojba());
- ++this.numberOfClients;
- String want = primi.nextLine();
- if (want.equalsIgnoreCase("da")) {
- prati.println("Broj na glasovi - "+numberOfClients + "\n" + candidates.printSostojba());
- }
- //prati.println(candidates.printSostojba());
- primi.close();
- }
- } else {
- this.serverSocket.close();
- }
- }
- } catch (IOException e) {
- System.err.println(e);
- }
- }
- public static void main(String[] args) throws Exception {
- Server server = new Server();
- server.start();
- }
- }
- class Candidate {
- private int index;
- private String name;
- private int numPoints;
- public Candidate(int index, String name) {
- this.index = index;
- this.name = name;
- this.numPoints = 0;
- }
- public void updatePoints() {
- numPoints++;
- }
- public int getNumPoints() {
- return numPoints;
- }
- public String toString() {
- return (index+" - "+name);
- }
- }
- class Candidates {
- private Candidate[] candidates;
- public Candidates() {
- this.candidates = new Candidate[4];
- candidates[0] = new Candidate(0, "Velkov Filip");
- candidates[1] = new Candidate(1, "Zafirovski David");
- candidates[2] = new Candidate(2, "Jakimovska Angela");
- candidates[3] = new Candidate(3, "Nuhiji Usamedin");
- }
- public Candidate getCandidate(int index) {
- return candidates[index];
- }
- public String toString() {
- StringBuilder sb = new StringBuilder();
- for (int i=0; i<4; i++) {
- sb.append(candidates[i]);
- sb.append("\n");
- }
- return sb.toString();
- }
- public String printSostojba() {
- StringBuilder sb = new StringBuilder();
- for (int i=0; i<4; i++) {
- sb.append(candidates[i]);
- sb.append(" - "+candidates[i].getNumPoints());
- sb.append("\n");
- }
- return sb.toString();
- }
- }------CLIENT----------
- public class Client extends Thread{
- private Socket socket;
- private Scanner primi;
- BufferedReader info;
- PrintWriter prati;
- public Client(){
- try {
- this.socket=new Socket("127.0.0.1", 8080);
- this.primi=new Scanner(this.socket.getInputStream());
- prati = new PrintWriter(this.socket.getOutputStream(), true);
- } catch (UnknownHostException e) {
- System.err.println(e);
- } catch (IOException e) {
- System.err.println(e);
- }
- }
- public void run(){
- while (this.primi.hasNextLine()){
- String theLine = this.primi.nextLine();
- if (theLine.equals(""))
- break;
- System.out.println(theLine);
- }
- System.out.println("Za kogo ke glasate ? ");
- info = new BufferedReader(new InputStreamReader(System.in));
- String index = "";
- try {
- index = info.readLine();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- System.out.println("Dali sakate info za sostojba na glasovi ?");
- String want = "";
- try {
- want = info.readLine();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- prati.println(index);
- prati.println(want);
- while (this.primi.hasNextLine()) {
- String theLine = this.primi.nextLine();
- if (theLine.equals(""))
- break;
- System.out.println(theLine);
- }
- }
- public static void main(String[] args) {
- Client client = new Client();
- client.start();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement