Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package qwer;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStreamWriter;
- import java.io.Writer;
- import static java.lang.Integer.parseInt;
- import java.net.InetAddress;
- import java.net.ServerSocket;
- import java.net.Socket;
- import java.net.UnknownHostException;
- import java.util.Arrays;
- import java.util.Date;
- import java.util.Random;
- import java.util.Scanner;
- public class pB {
- public static Scanner sc = new Scanner(System.in);
- public static void main(String[] args) {
- String nazwaHostaDocelowego;
- int port = 13;
- int port2 = 15;
- int c;
- int index;
- String nadawca = null;
- String str;
- String nowyStr;
- String addres;
- int kolor;
- int nowyKolor;
- String[][] sasiedzi = new String[2][5];
- String[] kolory = new String[4];
- sasiedzi[0][0] = "10.10.103.10";
- sasiedzi[0][1] = "Seba";
- sasiedzi[0][2] = "B";
- sasiedzi[0][3] = "Swider";
- sasiedzi[0][4] = "0";
- sasiedzi[1][0] = "10.10.103.16";
- sasiedzi[1][1] = "Seba1";
- sasiedzi[1][2] = "B";
- sasiedzi[1][3] = "Olka";
- sasiedzi[1][4] = "0";
- kolory[1] = "\u001B[31m";
- kolory[2] = "\u001B[32m";
- kolory[3] = "\u001B[34m";
- try {
- ServerSocket server = new ServerSocket(port);
- Socket connection = null;
- while (true) {
- try {
- connection = server.accept();
- InputStream inStream = connection.getInputStream();
- StringBuffer msg = new StringBuffer();
- while ((c = inStream.read()) != -1) {
- msg.append((char) c);
- }
- addres = connection.getInetAddress().toString();
- addres = addres.substring(1);
- str = msg.toString().trim();
- connection.close();
- String nowy = str.substring(2, 3);
- nowyStr = str.substring(3, str.length());
- kolor = parseInt(str.substring(0, 2));
- if (nowy.equals("B")) {
- for (int i = 0; i < sasiedzi.length; i++) {
- if (sasiedzi[i][0].equals(addres)) {
- System.out.println("fsdaf "+ kolor%10 );
- index = i;
- sasiedzi[index][4] = "1";
- nadawca = sasiedzi[i][3];
- System.out.println(kolory[kolor % 10] + "Broadcast od: " + nadawca + " , wiadomosc to: " + nowyStr + "\r\n");
- if (kolor >= 90) {
- Random r = new Random();
- int wczesniejszyKolor = kolor % 10;
- while (wczesniejszyKolor == kolor % 10) {
- wczesniejszyKolor = r.nextInt(3)+1;
- }
- kolor = (kolor - 90) * 10 + wczesniejszyKolor;
- }
- }
- }
- for (int i = 0; i < sasiedzi.length; i++) {
- if (sasiedzi[i][4] == "0") {
- connection = new Socket(sasiedzi[i][0], port2);
- Writer out = new OutputStreamWriter(connection.getOutputStream());
- System.out.println(kolory[kolor%10] + "Broadcast do: " + sasiedzi[i][3] + " , wiadomosc to: " + nowyStr + "\r\n");
- String drugi = str.substring(1, str.length());
- String kolor2 = Integer.toString(kolor);
- String pierwszy = kolor2.concat(drugi);
- out.write(pierwszy + "\r\n");
- out.flush();
- connection.close();
- }
- }
- }
- } catch (IOException ex) {
- } finally {
- try {
- if (connection != null) {
- connection.close();
- }
- } catch (IOException ex) {
- }
- }
- } // end while
- } // end try
- catch (IOException ex) {
- System.err.println(ex);
- } // end catch
- } // end main
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement