Java DatagramSocket and DatagramPacket

 

Java DatagramSocket and DatagramPacket

Java DatagramSocket and DatagramPacket classes are used for connection-less socket programming.


Java DatagramSocket class

Java DatagramSocket class represents a connection-less socket for sending and receiving datagram packets.

A datagram is basically an information but there is no guarantee of its content, arrival or arrival time.

Commonly used Constructors of DatagramSocket class

  • DatagramSocket() throws SocketEeption: it creates a datagram socket and binds it with the available Port Number on the localhost machine.
  • DatagramSocket(int port) throws SocketEeption: it creates a datagram socket and binds it with the given Port Number.
  • DatagramSocket(int port, InetAddress address) throws SocketEeption: it creates a datagram socket and binds it with the specified port number and host address.

Java DatagramPacket class

Java DatagramPacket is a message that can be sent or received. If you send multiple packet, it may arrive in any order. Additionally, packet delivery is not guaranteed.

Commonly used Constructors of DatagramPacket class

  • DatagramPacket(byte[] barr, int length): it creates a datagram packet. This constructor is used to receive the packets.
  • DatagramPacket(byte[] barr, int length, InetAddress address, int port): it creates a datagram packet. This constructor is used to send the packets.

Example of Sending DatagramPacket by DatagramSocket

  1. //DSender.java
  2. import java.net.*;
  3. public class DSender{
  4.   public static void main(String[] args) throws Exception {
  5.     DatagramSocket ds = new DatagramSocket();
  6.     String str = “Welcome java”;
  7.     InetAddress ip = InetAddress.getByName(“127.0.0.1”);
  8.     DatagramPacket dp = new DatagramPacket(str.getBytes(), str.length(), ip, 3000);
  9.     ds.send(dp);
  10.     ds.close();
  11.   }
  12. }

Example of Receiving DatagramPacket by DatagramSocket

  1. //DReceiver.java
  2. import java.net.*;
  3. public class DReceiver{
  4.   public static void main(String[] args) throws Exception {
  5.     DatagramSocket ds = new DatagramSocket(3000);
  6.     byte[] buf = new byte[1024];
  7.     DatagramPacket dp = new DatagramPacket(buf, 1024);
  8.     ds.receive(dp);
  9.     String str = new String(dp.getData(), 0, dp.getLength());
  10.     System.out.println(str);
  11.     ds.close();
  12.   }
  13. }
java for beginners
java for beginners
java for beginners
CodSir //course // books
...

WikiSir

  Java DatagramSocket and DatagramPacket Java DatagramSocket and DatagramPacket classes are used for connection-less socket programming. Java DatagramSocket class Java DatagramSocket class represents a connection-less socket for sending and receiving datagram packets. A datagram is basically an information but there is no guarantee of its content, arrival or arrival time. Commonly used Constructors of DatagramSocket class […]

Tags:

....
...