Forum Stats

  • 3,770,000 Users
  • 2,253,045 Discussions
  • 7,875,263 Comments

Discussions

UDP: Using NetBeans: Client not Receiving

User_AYF65
User_AYF65 Member Posts: 135 Red Ribbon

Hi,

I  have created a simple UDP client server application using socket programming. The server takes the input and when character ‘a’ is pressed followed by “Enter” key, data is transferred to the client which displays it. This is working fine in the DOS environment by opening two command windows. However when I am trying to run it in NetBeans, it does not show me any output on the client window. In the output section, it takes input from server but does not transfer it to the client portion shown adjacent to server portion in the output window. My server code is:

import java.net.*;

/**

*

* @author HP

*/

public class Server1main {

        public static int serverPort = 666;

                public static int clientPort = 999;

                public static int buffer_size=1024;

                public static DatagramSocket ds;

                public static byte buffer[ ] = new byte [buffer_size];

    /**

     * @param args the command line arguments

     */

    public static void TheServer ( ) throws Exception{

                int pos=0;

                while (true) {

                                int c=System.in.read ( );

                                if(c=='a'){

                                                ds.send(new DatagramPacket(buffer, pos, InetAddress.getLocalHost ( ),clientPort));

                                                pos=0;

                                               

                                }

                                                                buffer[pos++] = (byte) c;

                                               

                                }

                }

    public static void main(String[] args) throws Exception{

        // TODO code application logic here

        ds = new DatagramSocket(serverPort);

                TheServer( );

    }

   

}

And the client code is:

import java.net.*;

/**

*

* @author HP

*/

public class Client1Main {

        public static int serverPort = 666;

                public static int clientPort = 999;

                public static int buffer_size=1024;

                public static DatagramSocket ds;

                public static byte buffer[ ] = new byte [buffer_size];

    /**

     * @param args the command line arguments

     */

    public static void main(String[] args) throws Exception{

        // TODO code application logic here

        TheClient( );

    }

public static void TheClient ( ) throws Exception{

                ds = new DatagramSocket(clientPort);

                while (true) {

                                DatagramPacket p = new DatagramPacket(buffer, buffer.length);

                                ds.receive ( p);

                                System.out.println(new String( p.getData( ), 0, p.getLength ( )));

                }

    }

}

Some body please guide me.

Zulfi.

This discussion has been closed.