Advertisement
Guest User

Untitled

a guest
Mar 30th, 2017
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.72 KB | None | 0 0
  1. package qwer;
  2.  
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.io.OutputStreamWriter;
  6. import java.io.Writer;
  7. import static java.lang.Integer.parseInt;
  8. import java.net.InetAddress;
  9. import java.net.ServerSocket;
  10. import java.net.Socket;
  11. import java.net.UnknownHostException;
  12. import java.util.Arrays;
  13. import java.util.Date;
  14. import java.util.Random;
  15. import java.util.Scanner;
  16.  
  17. public class pB {
  18.  
  19. public static Scanner sc = new Scanner(System.in);
  20.  
  21. public static void main(String[] args) {
  22.  
  23. String nazwaHostaDocelowego;
  24.  
  25. int port = 13;
  26. int port2 = 15;
  27. int c;
  28. int index;
  29. String nadawca = null;
  30. String str;
  31. String nowyStr;
  32. String addres;
  33. int kolor;
  34. int nowyKolor;
  35. String[][] sasiedzi = new String[2][5];
  36. String[] kolory = new String[4];
  37.  
  38. sasiedzi[0][0] = "10.10.103.10";
  39. sasiedzi[0][1] = "Seba";
  40. sasiedzi[0][2] = "B";
  41. sasiedzi[0][3] = "Swider";
  42. sasiedzi[0][4] = "0";
  43.  
  44. sasiedzi[1][0] = "10.10.103.16";
  45. sasiedzi[1][1] = "Seba1";
  46. sasiedzi[1][2] = "B";
  47. sasiedzi[1][3] = "Olka";
  48. sasiedzi[1][4] = "0";
  49.  
  50. kolory[1] = "\u001B[31m";
  51. kolory[2] = "\u001B[32m";
  52. kolory[3] = "\u001B[34m";
  53.  
  54. try {
  55. ServerSocket server = new ServerSocket(port);
  56. Socket connection = null;
  57. while (true) {
  58.  
  59. try {
  60. connection = server.accept();
  61.  
  62. InputStream inStream = connection.getInputStream();
  63. StringBuffer msg = new StringBuffer();
  64.  
  65. while ((c = inStream.read()) != -1) {
  66. msg.append((char) c);
  67. }
  68.  
  69. addres = connection.getInetAddress().toString();
  70. addres = addres.substring(1);
  71. str = msg.toString().trim();
  72.  
  73. connection.close();
  74.  
  75. String nowy = str.substring(2, 3);
  76. nowyStr = str.substring(3, str.length());
  77.  
  78. kolor = parseInt(str.substring(0, 2));
  79.  
  80. if (nowy.equals("B")) {
  81.  
  82. for (int i = 0; i < sasiedzi.length; i++) {
  83.  
  84. if (sasiedzi[i][0].equals(addres)) {
  85.  
  86. System.out.println("fsdaf "+ kolor%10 );
  87. index = i;
  88. sasiedzi[index][4] = "1";
  89. nadawca = sasiedzi[i][3];
  90. System.out.println(kolory[kolor % 10] + "Broadcast od: " + nadawca + " , wiadomosc to: " + nowyStr + "\r\n");
  91.  
  92. if (kolor >= 90) {
  93. Random r = new Random();
  94. int wczesniejszyKolor = kolor % 10;
  95. while (wczesniejszyKolor == kolor % 10) {
  96. wczesniejszyKolor = r.nextInt(3)+1;
  97. }
  98. kolor = (kolor - 90) * 10 + wczesniejszyKolor;
  99. }
  100.  
  101. }
  102. }
  103. for (int i = 0; i < sasiedzi.length; i++) {
  104.  
  105. if (sasiedzi[i][4] == "0") {
  106.  
  107. connection = new Socket(sasiedzi[i][0], port2);
  108. Writer out = new OutputStreamWriter(connection.getOutputStream());
  109.  
  110. System.out.println(kolory[kolor%10] + "Broadcast do: " + sasiedzi[i][3] + " , wiadomosc to: " + nowyStr + "\r\n");
  111.  
  112. String drugi = str.substring(1, str.length());
  113. String kolor2 = Integer.toString(kolor);
  114.  
  115. String pierwszy = kolor2.concat(drugi);
  116.  
  117. out.write(pierwszy + "\r\n");
  118. out.flush();
  119. connection.close();
  120.  
  121. }
  122. }
  123. }
  124.  
  125. } catch (IOException ex) {
  126. } finally {
  127.  
  128. try {
  129. if (connection != null) {
  130. connection.close();
  131. }
  132. } catch (IOException ex) {
  133. }
  134. }
  135. } // end while
  136.  
  137. } // end try
  138. catch (IOException ex) {
  139. System.err.println(ex);
  140.  
  141. } // end catch
  142.  
  143. } // end main
  144.  
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement