Advertisement
Guest User

Mama copiilor mei

a guest
Feb 28th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.40 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package sdm_lab1;
  7.  
  8. import java.io.BufferedInputStream;
  9. import java.io.BufferedOutputStream;
  10. import java.io.DataInputStream;
  11. import java.io.DataOutputStream;
  12. import java.io.IOException;
  13. import java.net.Socket;
  14. import java.util.ArrayList;
  15. import java.util.logging.Level;
  16. import java.util.logging.Logger;
  17.  
  18. /**
  19. *
  20. * @author Alina
  21. */
  22. public class ServerThread extends Thread {
  23. Socket socket;
  24. ArrayList<ServerThread> st;
  25. DataInputStream in = null;
  26. DataOutputStream out = null;
  27. ServerThread(Socket socket, ArrayList<ServerThread> st) {
  28. this.socket = socket;
  29. this.st = st;
  30. try {
  31. in = new DataInputStream(new BufferedInputStream(socket
  32. .getInputStream()));
  33. } catch (IOException ex) {
  34. Logger.getLogger(ServerThread.class.getName()).log(Level.SEVERE, null, ex);
  35. }
  36. try {
  37. out = new DataOutputStream(new BufferedOutputStream(socket
  38. .getOutputStream()));
  39. } catch (IOException ex) {
  40. Logger.getLogger(ServerThread.class.getName()).log(Level.SEVERE, null, ex);
  41. }
  42. }
  43. public void run(){
  44. String incoming="";
  45. while (socket.isConnected()) {
  46. try {
  47. incoming = in.readUTF();
  48. } catch (IOException ex) {
  49. Logger.getLogger(ServerThread.class.getName()).log(Level.SEVERE, null, ex);
  50. }
  51. for(ServerThread s:st)
  52. s.signal(incoming);
  53.  
  54.  
  55. }
  56. }
  57. public void signal(String m){
  58. try {
  59. out.writeUTF(m);
  60. } catch (IOException ex) {
  61. Logger.getLogger(ServerThread.class.getName()).log(Level.SEVERE, null, ex);
  62. }
  63. }
  64. }
  65.  
  66. /*
  67. * To change this license header, choose License Headers in Project Properties.
  68. * To change this template file, choose Tools | Templates
  69. * and open the template in the editor.
  70. */
  71. package sdm_lab1;
  72.  
  73. import java.io.BufferedInputStream;
  74. import java.io.BufferedOutputStream;
  75. import java.io.DataInputStream;
  76. import java.io.DataOutputStream;
  77. import java.io.IOException;
  78. import java.net.InetAddress;
  79. import java.net.ServerSocket;
  80. import java.net.Socket;
  81. import java.util.ArrayList;
  82.  
  83. /**
  84. *
  85. * @author Alina
  86. */
  87. public class MainServer {
  88. public static void main(String[] args) {
  89. DataInputStream in = null;
  90. DataOutputStream out = null;
  91. Socket socket = null;
  92. ServerSocket serverSocket = null;
  93. try {
  94. ArrayList <ServerThread> sts = new ArrayList<ServerThread>();
  95. serverSocket = new ServerSocket(2999, 0, InetAddress.getByName("localhost"));
  96. while(true) {
  97. socket = serverSocket.accept();
  98. ServerThread st = new ServerThread(socket, sts);
  99. sts.add(st);
  100. st.start();
  101. }
  102. } catch (IOException e) {
  103. e.printStackTrace();
  104. } finally {
  105. try {
  106. out.close();
  107. in.close();
  108. socket.close();
  109. serverSocket.close();
  110. } catch (IOException e) {
  111. e.printStackTrace();
  112. }
  113. }
  114. }
  115. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement