Advertisement
Guest User

Untitled

a guest
May 19th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.21 KB | None | 0 0
  1. import java.awt.EventQueue;
  2. import java.io.File;
  3. import java.io.IOException;
  4. import java.io.ObjectInputStream;
  5. import java.net.ServerSocket;
  6. import java.net.Socket;
  7. import java.util.Scanner;
  8.  
  9. import javax.swing.JFrame;
  10. import java.awt.BorderLayout;
  11. import javax.swing.JPanel;
  12. import javax.swing.JLabel;
  13.  
  14. public class QuizServer {
  15.  
  16. private JFrame frame;
  17. //static ServerSocket variable
  18. private static ServerSocket server;
  19. //socket server port on which it will listen
  20. private static int port = 9876;
  21.  
  22. /**
  23. * Launch the application.
  24. */
  25. public static void main(String[] args) {
  26. EventQueue.invokeLater(new Runnable() {
  27. public void run() {
  28. try {
  29. QuizServer window = new QuizServer();
  30. window.frame.setVisible(true);
  31. } catch (Exception e) {
  32. e.printStackTrace();
  33. }
  34. }
  35. });
  36. }
  37.  
  38. /**
  39. * Create the application.
  40. * @throws IOException
  41. * @throws ClassNotFoundException
  42. */
  43. public QuizServer() throws ClassNotFoundException, IOException {
  44. initialize();
  45.  
  46.  
  47. }
  48.  
  49. /**
  50. * Initialize the contents of the frame.
  51. * @throws IOException
  52. * @throws ClassNotFoundException
  53. */
  54. public void server(JLabel mainText) throws IOException, ClassNotFoundException {
  55. //create the socket server object
  56. server = new ServerSocket(port);
  57. Scanner scanner = new Scanner(new File("C://Program Files/plik.txt"));
  58. int dodpowiedz = 0;
  59. mainText.setText(mainText.getText()+" "+"zle");
  60. //keep listens indefinitely until receives 'exit' call or program terminates
  61. while(scanner.hasNextLine()){
  62. String[] temp;
  63. String temporary=scanner.nextLine();
  64. temp = temporary.split(":");
  65. String pytanie=temp[0];
  66. String odpowiedz=temp[1];
  67. mainText.setText(mainText.getText()+" "+pytanie);
  68. while(dodpowiedz==0) {
  69. //creating socket and waiting for client connection
  70. Socket socket = server.accept();
  71. //read from socket to ObjectInputStream object
  72. ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
  73. //convert ObjectInputStream object to String
  74. String message = (String) ois.readObject();
  75. if(message.equals(odpowiedz)) {
  76. dodpowiedz=1;
  77. mainText.setText(mainText.getText()+" "+"Otrzymana odpowiedz: " + message);
  78. ois.close();
  79. socket.close();}
  80. else mainText.setText(mainText.getText()+" "+"zle");
  81. //terminate the server if client sends exit request
  82. if(message.equalsIgnoreCase("exit")) break;}
  83. dodpowiedz=0;
  84. }
  85. scanner.close();
  86. System.out.println("Shutting down Socket server!!");
  87. //close the ServerSocket object*/
  88. server.close();
  89. }
  90.  
  91. private void initialize() throws ClassNotFoundException, IOException {
  92. frame = new JFrame();
  93. frame.setBounds(100, 100, 450, 300);
  94. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  95.  
  96. JPanel panel = new JPanel();
  97. frame.getContentPane().add(panel, BorderLayout.CENTER);
  98.  
  99. JLabel mainText = new JLabel("New label");
  100. panel.add(mainText);
  101. server(mainText);
  102.  
  103.  
  104. }
  105.  
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement