title: java-udp programming -sending message from server to the client
body: <p>I made connection between server and client properly and i send message from client to the server,but how can i send messages from server to client.I mean how can i make server act like a client too.i tried to copy the client methods to the another class that server can invoke.but i couldnt then i tried to create a new package to use the client code in server class.any advices?</p>
  
  <p>ps:Sorry about my english.</p>
  
  <pre><code>public class Entrance_Server extends JFrame{
  
  JButton buton = new JButton("Create");
  JButton buton2 = new JButton("Join");
  JPanel butonpanel = new JPanel();
  DatagramSocket sockServer = null;
  DatagramSocket sockClient = null;
  int port = 7777;
  String s;
  BufferedReader cin = new BufferedReader(new InputStreamReader(System.in));
  
  
  
  public Entrance_Server() {
  
      setLayout(new GridLayout(2,1));
  
      add(buton);
      add(buton2);
  
      buton.addActionListener(new ActionListener() {
  
          @Override
          public void actionPerformed(ActionEvent e) {
  
              Choosing c = new Choosing();
              c.start();
  
              System.out.println("Server socket created. Waiting for incoming data...");
  
  
  
          }
      });
  
      buton2.addActionListener(new ActionListener() {
  
          @Override
          public void actionPerformed(ActionEvent e) {
              Choosing c = new Choosing();
              c.start();
  
  
  
          }
      });
  
  }
  
  
  public static void main(String[] args){
  
      Entrance_Server e = new Entrance_Server();
      e.setSize(500,350);
      e.setTitle("Welcome");
      e.setLocationRelativeTo(null);
      e.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      e.setVisible(true);
  
      e.connect();
  
  }
  
  public void connect (){
  
          try{
                  sockServer = new DatagramSocket(7777);
                  byte[] buffer = new byte[65536];
                  DatagramPacket incoming = new DatagramPacket(buffer, buffer.length);
  
                  while(true)
          {
              sockServer.receive(incoming);
              byte[] data = incoming.getData();
              String s = new String(data, 0, incoming.getLength());
  
              //echo the details of incoming data - client ip : client port - client message
              System.out.println(incoming.getAddress().getHostAddress() + " : " + incoming.getPort() + " - " + s);
  
              s = "OK : " + s;
              DatagramPacket dp = new DatagramPacket(s.getBytes() , s.getBytes().length , incoming.getAddress() , incoming.getPort());
              sockServer.send(dp);
  
              Entrance_Client_in_Server ec = new Entrance_Client_in_Server();
              ec.connectc();
  
  
          }
              }catch(IOException i){
                  System.err.println("IOException " + i);
              }
  
  
  
  }
  
  
  
  }
  </code></pre>