Advertisement
Guest User

Untitled

a guest
Oct 26th, 2016
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.09 KB | None | 0 0
  1. TCP_SERVER.java :
  2.  
  3. MAIN:
  4. no while de uma nova connecao.
  5. //notify TCP load.
  6. notify_load load = new notify_load(client_counter,client,rmi,udp_connections,port);
  7. load.start();
  8. -----------------------------------------------------------------------
  9. class notify_load extends Thread{
  10. private udp_transfer_client udp_connections;
  11. private int[] client_counter;
  12. private Socket client;
  13. private int port;
  14. Services rmi;
  15.  
  16. notify_load(int [] client_counter,Socket client,Services rmi,udp_transfer_client udp_connections,int port){
  17. this.udp_connections=udp_connections;
  18. this.client_counter=client_counter;
  19. this.client=client;
  20. this.port=port;
  21. this.rmi=rmi;
  22. }
  23. public void run(){
  24. int tcp_count;
  25. while(true) {
  26. try {
  27. tcp_count=rmi.count_tcp_server();
  28. String send_message="";
  29. String[] load = udp_connections.tcp_load(client_counter, client, tcp_count,port);
  30. DataOutputStream outS;
  31. outS = new DataOutputStream(client.getOutputStream());
  32. for(int i=0;i<load.length;i++){
  33. if(!load[i].contains("null")){
  34. send_message+=load[i];
  35. }
  36. }
  37. outS.writeUTF(send_message);
  38. Thread.sleep(60000);
  39. } catch (InterruptedException | IOException e) {
  40. e.printStackTrace();
  41. }
  42. }
  43. }
  44. }
  45.  
  46. -------------------------------------------------------------------------
  47. udp_server_transfer:
  48.  
  49. public String [] tcp_load(int [] client_counter,Socket client,int tcp_count,int port){
  50. String texto = "get_number_clients";
  51. DataOutputStream out;
  52. String [] servers_clients= new String[2];
  53. DatagramSocket aSocket=null;
  54. this.tcp_count=tcp_count;
  55. try {
  56. aSocket = new DatagramSocket();
  57. for(int i=1;i<this.tcp_count;i++) {
  58. int serverPort = ports[i-1];
  59.  
  60. byte[] m = texto.getBytes();
  61. DatagramPacket request = new DatagramPacket(m, m.length, aHost, serverPort);
  62. aSocket.send(request);
  63.  
  64.  
  65. byte[] buffer = new byte[1000];
  66. DatagramPacket reply_number = new DatagramPacket(buffer, buffer.length);
  67. aSocket.receive(reply_number);
  68. String reply = new String(reply_number.getData(), 0, reply_number.getLength());
  69.  
  70. servers_clients[i-1]=reply;
  71. }
  72.  
  73. String [] retorno = new String[3];
  74. retorno [0] = "Port - " + port+" : "+ client_counter[0];
  75. retorno [1] = " | Port - " + (ports[0]+250) +" : "+ servers_clients[0];
  76. retorno [2] = " | Port - " + (ports[1]+250) +" : "+servers_clients[1];
  77. return retorno;
  78.  
  79. }catch (SocketException e){System.out.println("Socket: " + e.getMessage());
  80. }catch (IOException e){System.out.println("IO: " + e.getMessage());
  81. }finally {if(aSocket != null) aSocket.close();}
  82. return null;
  83. }
  84.  
  85. private int compare_servers(String [] servers_clients,int [] client_counter) {
  86. if (this.tcp_count == 3) {
  87. if (servers_clients[0].compareTo("" + client_counter[0]) >= 0 && servers_clients[1].compareTo("" + client_counter[0]) >= 0) {
  88. return -1;
  89. } else if (servers_clients[0].compareTo("" + client_counter[0]) < 0) {
  90. client_counter[0]--;
  91. return 0;
  92. } else {
  93. client_counter[0]--;
  94. return 1;
  95. }
  96. } else if (this.tcp_count == 2) {
  97. System.out.println("oanioa");
  98. if (servers_clients[0].compareTo("" + client_counter[0]) >= 0) {
  99. return -1;
  100. } else if (servers_clients[0].compareTo("" + client_counter[0]) < 0) {
  101. client_counter[0]--;
  102. return 0;
  103. }
  104. } else if (this.tcp_count == 1) {
  105. return -1;
  106. }
  107. return -3;
  108. }
  109.  
  110.  
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement