Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.42 KB | None | 0 0
  1. package eu.matim;
  2.  
  3. import java.awt.BorderLayout;
  4. import java.awt.Color;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7. import java.awt.event.WindowAdapter;
  8. import java.awt.event.WindowEvent;
  9. import java.awt.event.WindowListener;
  10. import java.io.BufferedReader;
  11. import java.io.IOException;
  12. import java.io.InputStreamReader;
  13. import java.io.PrintWriter;
  14. import java.net.InetAddress;
  15. import java.net.Socket;
  16. import java.net.UnknownHostException;
  17.  
  18. import javax.swing.JButton;
  19. import javax.swing.JFrame;
  20. import javax.swing.JLabel;
  21. import javax.swing.JPanel;
  22. import javax.swing.JTextField;
  23. import javax.swing.UIManager;
  24. import javax.swing.UIManager.LookAndFeelInfo;
  25.  
  26. @SuppressWarnings("serial")
  27. public class SocketClient extends JFrame implements ActionListener
  28. {
  29.     JLabel text, clicked;
  30.     JButton button;
  31.     JPanel panel;
  32.     JTextField textField;
  33.     Socket socket = null;
  34.     PrintWriter out = null;
  35.     BufferedReader in = null;
  36.    
  37.     private String ip = "85.117.9.11";
  38.     private int port = 4444;
  39.  
  40.     public SocketClient()
  41.     {
  42.         text = new JLabel("Text to send over socket:");
  43.         textField = new JTextField(20);
  44.         button = new JButton("Click Me");
  45.         button.addActionListener(this);
  46.  
  47.         panel = new JPanel();
  48.         panel.setLayout(new BorderLayout());
  49.         panel.setBackground(Color.white);
  50.         getContentPane().add(panel);
  51.         panel.add("North", text);
  52.         panel.add("Center", textField);
  53.         panel.add("South", button);
  54.     }
  55.  
  56.     public void actionPerformed(ActionEvent event)
  57.     {
  58.         Object source = event.getSource();
  59.  
  60.         if(source == button)
  61.         {          
  62.             //Send data over socket
  63.             String text = textField.getText();
  64.             try {
  65.                 out.println(InetAddress.getLocalHost() + text);
  66.             } catch (UnknownHostException e1) {
  67.                 // TODO Auto-generated catch block
  68.                 e1.printStackTrace();
  69.             }
  70.             textField.setText(new String(""));
  71.            
  72.             // Print received data
  73.             try
  74.             {
  75.                 String line = in.readLine();
  76.                
  77.                 if (line.equals("mayConnect"))
  78.                 {
  79.                     System.out.println("Password was ok, we can connect! :)");
  80.                 }
  81.                 else if (line.equals("cantConnect"))
  82.                 {
  83.                     System.out.println("Password wasn't correct :(!");
  84.                 }
  85.             }
  86.             catch (IOException e)
  87.             {
  88.                 System.out.println("Client: " + e);
  89.                 listenSocket();
  90.             }
  91.         }
  92.     }
  93.  
  94.     public void listenSocket()
  95.     {
  96.         //Create socket connection
  97.         try
  98.         {
  99.             socket = new Socket(ip, port);
  100.             out = new PrintWriter(socket.getOutputStream(), true);
  101.             in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
  102.         }
  103.         catch (UnknownHostException e)
  104.         {
  105.             System.out.println("Client: Unknown host: " + ip);
  106.             System.exit(1);
  107.         }
  108.         catch (IOException e)
  109.         {
  110.             System.out.println("Client: No I/O " + e);
  111.             // Try to reconnect
  112.             listenSocket();
  113.         }
  114.     }
  115.  
  116.    public static void main(String[] args)
  117.    {
  118.         try
  119.         {
  120.             for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels())
  121.             {
  122.                 if ("Nimbus".equals(info.getName()))
  123.                 {
  124.                     UIManager.setLookAndFeel(info.getClassName());
  125.                     break;
  126.                 }
  127.             }
  128.         }
  129.         catch (Exception e)
  130.         {
  131.             // Shit..
  132.         }
  133.        
  134.        SocketClient frame = new SocketClient();
  135.        frame.setTitle("Matim Client");
  136.        WindowListener l = new WindowAdapter()
  137.        {
  138.            public void windowClosing(WindowEvent e)
  139.            {
  140.                System.exit(0);
  141.            }
  142.         };
  143.  
  144.         frame.addWindowListener(l);
  145.         frame.pack();
  146.         frame.setVisible(true);
  147.         frame.listenSocket();
  148.    }
  149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement