Socket Programming Through UDP


Socket Programming Through UDP

	 From Server to Client

Program:

Server End

import java.net.*;
import java.io.*;
import java.util.*;

public class Server

{
	public static void main(String arr[]) throws Exception
	{
	DatagramSocket ss=new DatagramSocket(12345); 
      	byte[] sd=new byte[1024]; 
      	byte[] rd=new byte[1024]; 
	DatagramPacket rc=new DatagramPacket(rd,rd.length); 
      	ss.receive(rc); 
	Scanner sc=new Scanner(System.in);
  	System.out.print("Enter text: ");
      	String str=sc.nextLine(); 
      	sd=str.getBytes();
	InetAddress addr = rc.getAddress();
	int port = rc.getPort(); 
	DatagramPacket snd=new DatagramPacket(sd,sd.length,addr,port); 
      	ss.send(snd); 
	rc=new DatagramPacket(rd,rd.length); 
      	ss.receive(rc); 
      	str=new String(rc.getData()); 
       	System.out.println("FROM Client: "+str);
      	ss.close();        

	}

}




Client End

import java.net.*;
import java.io.*;
import java.util.*;

public class Client

{
	public static void main(String arr[]) throws Exception
	{
	Scanner sc=new Scanner(System.in);
      	DatagramSocket cs=new DatagramSocket(); 
      	byte[] rd=new byte[1024]; 
      	byte[] sd=new byte[1024];
	InetAddress addr = InetAddress.getByName("localhost"); 
	String str=".."; 
      	sd=str.getBytes();
	DatagramPacket snd=new DatagramPacket(sd,sd.length,addr,12345); 
  	DatagramPacket rc=new DatagramPacket(rd,rd.length);
	cs.send(snd);  
      	cs.receive(rc); 
      	str=new String(rc.getData()); 
      	System.out.println("FROM Server: "+str);
        int port = rc.getPort(); 
	str=str.toUpperCase(); 
      	sd=str.getBytes();
	snd=new DatagramPacket(sd,sd.length,addr,port); 
      	cs.send(snd); 
      	cs.close();       

	}

}


Output:

Server Side:

$ javac Server.java

$ java Server


Enter text: Hello.. This is xyz..          

FROM Client: HELLO.. THIS IS XYZ..



Client side:

$ javac Client.java

$ java Client


FROM Server: Hello.. This is xyz..


Share:

0 comments